| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Berdir Power User
Anmeldungsdatum: 22.09.2005 Beiträge: 1347
|
30.10.2007 13:18 |
|
|
Komisch, das dürfte eigentlich gar nicht passieren, wenn ich den Code richtig verstehe.
Versuch doch einmal die aktualisierte Version und poste nochmals die Ausgabe:
http://phpfi.com/272575 |
|
| Nach oben |
|
 |
EPMS Neuer User
Anmeldungsdatum: 30.10.2007 Beiträge: 7
|
30.10.2007 13:52 |
|
|
Die aktuelle Version von Pear?
Ich habe schon versucht die mittels "pear update PEAR" zu installieren. Er tut dann auch was. Ich bleibe dann aber bei Version 4.11 glaube ich. |
|
| Nach oben |
|
 |
Berdir Power User
Anmeldungsdatum: 22.09.2005 Beiträge: 1347
|
30.10.2007 14:01 |
|
|
Die aktualisierte Version von meinem Prüf-Script, das unter dem angegebenen Link verfügbar ist
Wenn du aber noch eine ältere PEAR Version hast, würde ich auf jeden Fall versuchen, diese zuerst zu aktualisieren.
Führe doch einmal folgende Kommandos auf der Shell aus (kann länger dauern).
| Code: |
pear -V
pear list
pear list-upgrades
pear upgrade pear
pear upgrade-all
|
|
|
| Nach oben |
|
 |
EPMS Neuer User
Anmeldungsdatum: 30.10.2007 Beiträge: 7
|
30.10.2007 16:09 |
|
|
So, bis "pear upgrade pear" habe ich das gemacht.
Wenn ich jetzt "pear -V" eingebe kommt folgendes
| Code: |
PEAR Version: 1.4.6
PHP Version: 5.1.2-1.dotdeb.2
Zend Engine Version: 2.1.0
|
Wenn ich aber "pear upgrade pear" mache kommt diese Meldung
| Code: |
Skipping package "pear/PEAR", already installed as version 1.6.2
No valid packages found
upgrade failed
|
Edit:
Bei deiner neuen Version kommt folgender Fehler
| Code: |
PEAR-Konfigurationspruefung by Berdir
1. Lese den include_path aus... .:/usr/share/php:/usr/share/php/PEAR
2. Pruefe auf "." im include_path...Vorhanden
3. Lese open_basedir aus... /var/www/web1/html/:/var/www/web1/phptmp/:/var/www/web1/files/:/var/www/web1/atd/:/usr/share/php:/usr/share/php/PEAR
4. Vergleiche die beiden Pfade...OK
5. Suche nach PEAR.php im include_path... /usr/share/php/PEAR.php
6. Binde PEAR.php ein...OK
7. Pruefe auf vorhande Registry...
Fatal error: Call to undefined function error() in /var/www/web1/html/subdomains/egw/test.php on line 156
|
Wenn ich das richtig sehe, habe ich doch nicht die neuste Version installiert oder? |
|
| Nach oben |
|
 |
Berdir Power User
Anmeldungsdatum: 22.09.2005 Beiträge: 1347
|
30.10.2007 17:03 |
|
|
Doch, es ist schon die richtige Version, das war ein Fehler von mir. Ersetze einmal auf der Zeile 156 "error" durch "fehler"
Das mit der Version sieht komisch aus, hast du möglicherweise verschiedene PEAR-Repositories?
Bitte einmal die Ausgabe von "pear list" und "pear config-show" hier posten. Gemäss meinem Script wird die /usr/share/php/PEAR.php eingebunden, steht bei config-show bei php_dir dieser Pfad oder etwas anderes?
Es ist aber bei meinem Script genau das aufgetreten, was ich erwartet habe. Es ist nämlich gar keine sogenannte Registry vorhanden. Das kann aber zumindest mit der neusten Version von PEAR gar nicht geschehen. |
|
| Nach oben |
|
 |
EPMS Neuer User
Anmeldungsdatum: 30.10.2007 Beiträge: 7
|
31.10.2007 9:36 |
|
|
So, dann lege ich mal los.
Also "pear list"
| Code: |
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.2 stable
Auth_SASL 1.0.1 stable
Cache 1.5.5RC4 beta
Console_Getopt 1.2.3 stable
DB 1.7.13 stable
Date 1.4.6 stable
File 1.2.2 stable
HTTP_Request 1.3.0 stable
Log 1.9.3 stable
Mail 1.1.14 stable
Mail_Mime 1.3.1 stable
Net_SMTP 1.2.10 stable
Net_Socket 1.0.8 stable
Net_URL 1.0.15 stable
PEAR 1.6.2 stable
Services_Weather 1.4.2 stable
Structures_Graph 1.0.2 stable
XML_Parser 1.2.8 stable
XML_RPC 1.5.1 stable
XML_Serializer 0.18.0 beta
XML_Util 1.1.4 stable
|
pear config-show
| Code: |
Configuration (channel pear.php.net):
=====================================
Auto-discover new Channels auto_discover <not set>
Default Channel default_channel pear.php.net
HTTP Proxy Server Address http_proxy <not set>
PEAR server [DEPRECATED] master_server pear.php.net
Default Channel Mirror preferred_mirror pear.php.net
Remote Configuration File remote_config <not set>
PEAR executables directory bin_dir /usr/lib/php-5.1.2/bin
PEAR documentation directory doc_dir /usr/lib/php-5.1.2/lib/php/doc
PHP extension directory ext_dir /usr/lib/php-5.1.2/lib/php/extensions/no-debug-non-zts-20050922
PEAR directory php_dir /usr/lib/php-5.1.2/lib/php
PEAR Installer cache directory cache_dir /tmp/pear/cache
PEAR data directory data_dir /usr/lib/php-5.1.2/lib/php/data
PHP CLI/CGI binary php_bin /usr/lib/php-5.1.2/bin/php
PEAR test directory test_dir /usr/lib/php-5.1.2/lib/php/test
Cache TimeToLive cache_ttl 3600
Preferred Package State preferred_state beta
Unix file mask umask 22
Debug Log Level verbose 1
PEAR password (for password <not set>
maintainers)
Signature Handling Program sig_bin /usr/bin/gpg
Signature Key Directory sig_keydir /usr/lib/php-5.1.2/etc/pearkeys
Signature Key Id sig_keyid <not set>
Package Signature Type sig_type gpg
PEAR username (for username <not set>
maintainers)
User Configuration File Filename /root/.pearrc
System Configuration File Filename /usr/etc/pear.conf
|
und dein Script
| Code: |
PEAR-Konfigurationspruefung by Berdir
1. Lese den include_path aus... .:/usr/lib/php-5.1.2/lib/php:/usr/lib/php-5.1.2/lib/php/PEAR
2. Pruefe auf "." im include_path...Vorhanden
3. Lese open_basedir aus... /var/www/web1/html/:/var/www/web1/phptmp/:/var/www/web1/files/:/var/www/web1/atd/:/usr/lib/php-5.1.2/lib/php:/usr/lib/php-5.1.2/lib/php/PEAR
4. Vergleiche die beiden Pfade...OK
5. Suche nach PEAR.php im include_path... /usr/lib/php-5.1.2/lib/php/PEAR.php
6. Binde PEAR.php ein...OK
7. Pruefe auf vorhande Registry... keine, Konfigurationsdateien: /usr/lib/php-5.1.2/etc/pear.conf,/.pearrc
|
Laut config-show steht pear bei mir woanders wie ich gedacht habe. Das habe ich im include-path geändert.
Wenn ich das bei deinem Script richtig lese, sucht er in "/usr/lib/php-5.1.2/etc/" die pear.conf und findet sie nicht. Da steht aber eine.
Woran kann das liegen? Was muß ich noch tun? |
|
| Nach oben |
|
 |
Berdir Power User
Anmeldungsdatum: 22.09.2005 Beiträge: 1347
|
31.10.2007 10:23 |
|
|
| EPMS hat folgendes geschrieben: |
Laut config-show steht pear bei mir woanders wie ich gedacht habe. Das habe ich im include-path geändert.
Wenn ich das bei deinem Script richtig lese, sucht er in "/usr/lib/php-5.1.2/etc/" die pear.conf und findet sie nicht. Da steht aber eine.
Woran kann das liegen? Was muß ich noch tun? |
open_basedir. Du kannst entweder den Pfad auch aufnehmen, oder einfach /usr/lib/php-5.1.2 angeben, dann ist alles darunter erlaubt. Dann gibt zwar mein Script eine Warnung aus, sollte aber funktionieren.
Komisch finde ich einfach, das es dann gar keine Registry gibt. Bei mir ist es so, das die beiden Dateien gar nicht existieren, in diesem Fall wird dann einfach eine Default-Konfiguration erstellt und diese stimmt bei mir auch. Ich vermute, das ist ein Bug. |
|
| Nach oben |
|
 |
EPMS Neuer User
Anmeldungsdatum: 30.10.2007 Beiträge: 7
|
31.10.2007 10:54 |
|
|
Aber dort wo er die .conf Datei sucht steht ja eine drin.
Wo kann ich denn angeben, wo nach der conf Datei gesucht werden soll? Ich habe nämlich auch eine in /etc/pear |
|
| Nach oben |
|
 |
Berdir Power User
Anmeldungsdatum: 22.09.2005 Beiträge: 1347
|
31.10.2007 11:12 |
|
|
Ja, da steht schon eine drin, aber diese darf PHP wegen der open_basedir Einstellungen nicht lesen.
Du kannst das im Prinzip mit dem 1. und 2. Parameter von new PEAR_Config steuern... Wenn diese leer sind, werden die Defaults genommen, die bei der Installation definiert wurden.
Du müsstest also dann auch den eGroupWare Installer abändern und dort die Pfade setzen. Die automatisch verwendeten Pfade sollten aber schon stimmen, wie gesagt fehlt vermutlich einfach noch die open_basedir-Erweiterung. |
|
| Nach oben |
|
 |
EPMS Neuer User
Anmeldungsdatum: 30.10.2007 Beiträge: 7
|
31.10.2007 13:12 |
|
|
Was meinst du denn mit open_basedir?
Das habe ich doch genauso gesetzt, wie den include_path. |
|
| Nach oben |
|
 |
Berdir Power User
Anmeldungsdatum: 22.09.2005 Beiträge: 1347
|
31.10.2007 13:27 |
|
|
| Nein, der Ordner in dem die Konfigurationsdatei drin ist, ist nicht im open_basedir drin, jedenfalls nicht als du mein Script das letzte mal ausgeführt hast. Du kannst wie gesagt einfach /var/lib/php-5.1.2/ angeben, dann ist alles darunter lesbar... |
|
| Nach oben |
|
 |
EPMS Neuer User
Anmeldungsdatum: 30.10.2007 Beiträge: 7
|
31.10.2007 13:53 |
|
|
Super. Damit hat es jetzt geklappt. Ich danke dir schön.  |
|
| Nach oben |
|
 |
|
|