php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.09.2006, 23:29  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard Fehler bei PEAR-Installation

Hallo,

nachdem mir hier letztens ein PEAR-Paket für ein Problem empfohlen wurde, wollte ich nun einmal PEAR installieren.

Die Anleitung ist ja nicht soooo prickelnd ausführlich. Aber ich habs mal probiert....

Gleich bei der Installation des Grund-Pakets kommen schon die ersten Fehlermeldungen:

Zitat:
Extracting installer..................ok


Warning: popen() has been disabled for security reasons in /www/htdocs/v127822/PEAR/temp/gopetSbbhO/OS/Guess.php on line 248



Warning: fgets(): supplied argument is not a valid stream resource in /www/htdocs/v127822/PEAR/temp/gopetSbbhO/OS/Guess.php on line 250



Warning: pclose(): supplied argument is not a valid stream resource in /www/htdocs/v127822/PEAR/temp/gopetSbbhO/OS/Guess.php on line 258

warning: pear/PEAR requires package "pear/Archive_Tar" (version >= 1.3.1)
warning: pear/PEAR requires package "pear/Console_Getopt" (version >= 1.2)

...

Warning: ini_restore() has been disabled for security reasons in /www/htdocs/v127822/PEAR/go-pear.php on line 804
Danach kam dann noch

Zitat:
Thanks for using go-pear!

Start Web Frontend of the PEAR Installer >>
Heißt das nun, dass PEAR korrekt installiert wurde oder sind die Meldungen schwerwiegend?

Der Link, der hinter "Start Web Frontend..." steckt, ist auch gleich mal falsch. Statt /PEAR/PEAR/index.php gibt es nur für /PEAR/index.php auch wirklich eine Datei.

Dort wird als erstes gleich mal die nächste Warnung ausgespuckt:
Zitat:
WARNING: channel "pear.php.net" has updated its protocols, use "channel-update pear.php.net" to update
Wo ich das benutzen soll, wird natürlich mal wieder nicht erwähnt. Einen gleichnamigen Menüpunkt konnte ich mal nicht finden. Es sieht auch eher nach einem Shell Kommando aus.

Der Unterpunkt "List avail. Upgrades" bringt auch nichts zu Tage, was so ähnlich aussieht.


Da ich ein Paket installieren will, das noch als beta gekennzeichnet ist, geht es gleich zur Anpassung der Konfiguration.
Nach dem Versuch, die Änderun abzuspeichern, kommt die nächste Fehlermeldung:

Zitat:
config-set (Filename, /www/htdocs/v127822/PEAR/pear.conf, user) failed, channel pear.php.net
Kann mir mal jemand verraten, ob die Fehlermeldungen ignoriert werden können, oder schwerwiegend sind?
Und wie ich dieses Update des Protokolls durchführen kann? Die Meldung taucht auf jeder Seite oben auf.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.09.2006, 10:58  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Also über den PEAR Installer hab ich PEAR auch nicht installiert bekommen damals.
Ich machs jetzt so, dass ich mir die PEAR Klasse [1] installiere und den PEAR-Pfad als include_path setze.
PHP-Code:
<?php
set_include_path
(get_include_path() . PATH_SEPARATOR PATH_TO_PEAR);
?>
Danach installier ich mir die Pakete von PEAR die ich brauche. Musst dabei drauf achten, dass du sie in die richtige Ordner-Struktur legst, also /pear/HTTP/Request.php zB, wenn du das HTTP_Request-Paket benötigst. Abhängigkeiten unter den Paketen nicht vergessen.
Und eigentlich kanns dann auch schon losgehen.

[1] http://pear.php.net/package/PEAR
Zergling-new ist offline  
Alt 29.09.2006, 11:45  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Das Include-Verzeichnis hab ich mit .htaccess hinzugefügt. Das klappt also eigentlich.

Die Datei guess.php, in der die ersten Fehler aufgetreten sind, ist nach der Installation auch nicht mehr vorhanden.

Auf den ersten Blick hat die Installation der Pakete danach funktioniert, aber ein richtig gutes Gefühl hab ich damit nicht.

Welche Zugriffsrechte soll man dem PEAR-Verzeichnis geben?
Ich hab mal per .htaccess nur Zugriff mit Authentifizierung gemacht. Ist das so OK?

Und wie kriegt man das Ding normalerweise wieder komplett los?
Zugriffsrechte sind so gesetzt, dass ich das per FTP nicht löschen kann.
Bei meinem ersten Fehlversuch hab ich mir dann extra ein Script geschrieben, dass die Verzeichnisse entsorgt.
Das empfinde ich aber nicht als akzeptable Lösung.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 29.09.2006, 14:10  
Benutzer
 
Registriert seit: 02.07.2005
Beiträge: 39
betrazivis
Standard

Zitat:
Auf den ersten Blick hat die Installation der Pakete danach funktioniert, aber ein richtig gutes Gefühl hab ich damit nicht.
Was heißt das? funktioniert das Paket PEAR:: DB (nach der Installation)?
Wenn du es so machst wie Zergling(ini_set), sollte es nach dem include der DB.php keinerlei Warnings oder Notices geben.

Zitat:
Welche Zugriffsrechte soll man dem PEAR-Verzeichnis geben?
0777 ???

Zitat:
Und wie kriegt man das Ding normalerweise wieder komplett los?
rm -rf * :wink:
Ich habe damlals beim Hoster angerufen, weil ich ca. 50 tmp Dateien rumhängen hatte, die nicht mehr löschen gingen(dein safe_mode scheint on zu sein!?)...

Ich mache das so(wenn ich denn mal auf so ner beschnittenen Kiste arbeiten muss), dass ich mir auf meine lokale Kiste son Wamp, Xampp oder so drauf mache und dann den kompletten PEAR Ordner synce....So klappt auch mit den Abhängkeiten....Installiern lkann man ja dann lokal über die Shell(ode rim schlimmsten Fall über die Windoze-CMD)

Der PEAR-Webinstaller hat bei mir noch nie funktioniert...(auf 3 Servern getestet)
betrazivis ist offline  
Alt 29.09.2006, 14:27  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Hmmm. Safemode ist laut phpinfo() aus.

Vom Paket PEAR:B hab ich keine Ahnung.
Wozu brauch ich DB.php?

Ich habe mal einen Blick auf die nachher vorhandenen Dateien geworfen und zumindest wurde für mein Wunsch-Paket was installiert und beim Einbinden der entsprechenden Datei in ein eigenes Script kamen keine Fehlermeldungen.

Der Webinstaller kriegt das mit den Abhängigkeiten auch nicht selber hin. Da kommt nur im Fehlerfall ein Fenster, dass was fehlt. Aber der Inhalt des Fensters besteht aus bergeweisem Müll bevor nach langem Runterscrollen mal die eigentliche Meldung erscheint.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 29.09.2006, 16:36  
Benutzer
 
Registriert seit: 02.07.2005
Beiträge: 39
betrazivis
Standard

Zitat:
Zitat von Der_Gerhard
Hmmm. Safemode ist laut phpinfo() aus.
Sorry, das hat in dem Fall auch überhaupt nix zu sagen. Mein Fehler...

Aber wie gesagt, das gleiche wie bei mir. Auf meinem lokalen System hat es einmal geklappt. Allerdings hat das Installieren eines Pakets bis zu 5 Minuten gedauert.


Zitat:
Zitat von Vom Paket PEAR:Very HappyB hab ich keine Ahnung.
Vom Paket PEARB hab ich keine Ahnung.
Wozu brauch ich DB.php?
Das ist normalerweise das erste Paket mit dem man anfängt, weil es ein super Abstraktionslayer für Datenbankgeschichten ist. DB ist bei mir nicht mehr wegzudenken. Allerdings wurde DB mittlerweile duch MDB2 ersetzt, welches aber genauso funktioniert wie DB aber noch etws mächtiger ist.
Alle Pakete die mit Datenbanken zu tun haben setzen auf DB o. MDB/2 auf.

Wenn dein Paket läuft und es auf PEAR aufsetzt, scheint alles zu gehen.
meist weden von PEAR die Exception-Handler(PHP5) oder die Error Handler benutzt. Wenn diese Klassen nicht da sind gibts eh Mecker...
betrazivis ist offline  
Alt 29.09.2006, 22:38  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Die Fehlermeldung ist doch klar: popen() und ini_restore() sind nicht benutzbar (ini_get('disable_functions')). Ich würde den Mist auch einfach lokal installieren und hochkopieren.

Und sichern? Natürlich nicht ins doc_root (da haben ja eh nur eine index.php, statische Bilder, css-Dateien und sowas etwas verloren) und die Rechte so setzen, dass die übrigen Kunden auf dem Server die Dateien nicht beschreiben können, aber das ist ja selbstverständlich. Also nichts besonderes eben.

Und löschen? Einfach mit ftp oder ssh via chmod wieder schreibbar machen und löschen. Wo hakt es denn da? Laufen die Skripte unter anderem Benutzer, als dem deines ftp-Accounts? Im Notfall eben via php (unlink()).

Basti
Basti ist offline  
Alt 29.09.2006, 23:30  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Basti
Die Fehlermeldung ist doch klar: popen() und ini_restore() sind nicht benutzbar (ini_get('disable_functions')). Ich würde den Mist auch einfach lokal installieren und hochkopieren.
Dass die Funktionen nicht benutzbar sind, weiß ich auch. Ich wollte wissen, ob das Scheitern des Aufrufs einen kritischen Fehler darstellt oder ob das Script damit klar kommt.

Das Script kann Fehler ja auch abfangen wenn es sauberer programmiert ist. Ob hier das Abfangen vergessen wurde oder nur die Ausgabe nicht unterdrückt wurde, aber das Ergebnis korrekt ausgewertet wurde, weiß ich ja eben nicht.

Lokal installieren halte ich für eine recht unbrauchbare Variante.
Laut Anleitung zu PEAR gibt es auch OS-abhängige Teile.
Der Dateiname OS/Guess.php deutet darauf hin, dass in dem Script versucht wird, das Host-OS rauszufinden. Nachsehen kann ich nicht, weil die Datei nach der Installation nicht mehr vorhanden ist.

Wenn ich mir das lokal mit Windows installiere bringt mir das also auf einem Linux-Server nicht recht viel.

Zitat:
Zitat von Basti
Und sichern? Natürlich nicht ins doc_root (da haben ja eh nur eine index.php, statische Bilder, css-Dateien und sowas etwas verloren) und die Rechte so setzen, dass die übrigen Kunden auf dem Server die Dateien nicht beschreiben können, aber das ist ja selbstverständlich. Also nichts besonderes eben.
Damit der Apache das ausführen kann, muss ich wohl mindestens allen Leserechte geben. Bei Verzeichnissen noch Ausführrechte. Ob irgendwer was schreiben muss, weiß ich nicht.

Zitat:
Zitat von Basti
Und löschen? Einfach mit ftp oder ssh via chmod wieder schreibbar machen und löschen. Wo hakt es denn da? Laufen die Skripte unter anderem Benutzer, als dem deines ftp-Accounts? Im Notfall eben via php (unlink()).
Wie ich geschrieben habe, kann ich es per FTP nicht löschen.
Mein FTP-Benutzer ist ein anderer als der Apache.
Shell-Zugang habe ich keine. Nur FTP.
Der Webinstaller ist laut Installationsanleitung genau für solche Umgebungen vorgesehen, wo man eben nicht an der Shell was installieren (oder eben löschen) kann. Da sollte das Ding vielleicht auch so clever sein, die Zugriffsrechte etwas großzügiger zu setzen.

Wenn ich per Shell etwas löschen könnte, hätte ich nicht diese Installationsvariante genommen.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 29.09.2006, 23:39  
Benutzer
 
Registriert seit: 02.07.2005
Beiträge: 39
betrazivis
Standard

Zitat:
Zitat von Der Dateiname OS/Guess.php deutet darauf hin, dass in dem Script versucht wird, das Host-OS rauszufinden.
Der Dateiname OS/Guess.php deutet darauf hin, dass in dem Script versucht wird, das Host-OS rauszufinden.
mmmh normalerweise nicht. das ist eine Konstante:

Code:
if (substr(PHP_OS, 0, 3) == 'WIN') {
    define('OS_WINDOWS', true);
    define('OS_UNIX',    false);
    define('PEAR_OS',    'Windows');
} else {
    define('OS_WINDOWS', false);
    define('OS_UNIX',    true);
    define('PEAR_OS',    'Unix'); // blatant assumption
}
betrazivis ist offline  
Alt 30.09.2006, 01:42  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Zitat:
Zitat von Der_Gerhard
Zitat:
Zitat von Basti
Die Fehlermeldung ist doch klar: popen() und ini_restore() sind nicht benutzbar (ini_get('disable_functions')). Ich würde den Mist auch einfach lokal installieren und hochkopieren.
Dass die Funktionen nicht benutzbar sind, weiß ich auch. Ich wollte wissen, ob das Scheitern des Aufrufs einen kritischen Fehler darstellt oder ob das Script damit klar kommt.

Das Script kann Fehler ja auch abfangen wenn es sauberer programmiert ist. Ob hier das Abfangen vergessen wurde oder nur die Ausgabe nicht unterdrückt wurde, aber das Ergebnis korrekt ausgewertet wurde, weiß ich ja eben nicht.

Lokal installieren halte ich für eine recht unbrauchbare Variante.
Laut Anleitung zu PEAR gibt es auch OS-abhängige Teile.
Der Dateiname OS/Guess.php deutet darauf hin, dass in dem Script versucht wird, das Host-OS rauszufinden. Nachsehen kann ich nicht, weil die Datei nach der Installation nicht mehr vorhanden ist.
http://viewcvs.php.net/viewvc.cgi/pe...23&view=markup

Hier wird versucht, die Version der glibc rauszufinden. Für die PEAR-Klassen sollte das völlig Wurscht sein (würde mich schwer wundern, falls nicht *g), sondern eben nur für PECL interessant sein. Für deinen gemieteten Webspace in jedem Fall egal.

Was es genau mit dem ini_reset('include_path') auf sich hat, weiß ich nicht, kannst dich ja aber auch natürlich selbst einlesen (ist ja alles quelloffen):

http://pear.php.net/go-pear

Zitat:
Wenn ich mir das lokal mit Windows installiere bringt mir das also auf einem Linux-Server nicht recht viel.
Spielt für PEAR soweit ich weiß keine Rolle. Ich hab bei PEAR noch nie unterschiedliche Downloads für unterschiedliche OS gesehen. Gibt auch einen Punkt im Manual, wie man eine lokale Installation auf den Server verfrachtet (mittels pake).

Zitat:
Zitat:
Zitat von Basti
Und sichern? Natürlich nicht ins doc_root (da haben ja eh nur eine index.php, statische Bilder, css-Dateien und sowas etwas verloren) und die Rechte so setzen, dass die übrigen Kunden auf dem Server die Dateien nicht beschreiben können, aber das ist ja selbstverständlich. Also nichts besonderes eben.
Damit der Apache das ausführen kann, muss ich wohl mindestens allen Leserechte geben. Bei Verzeichnissen noch Ausführrechte.
Scherzkeks! *g

Zitat:
Ob irgendwer was schreiben muss, weiß ich nicht.
Prinzipiell sind das einfach nur Klassen, die sich (hoffentlich) nicht einfach selbst umschreiben. Aber es wird natürlich ein temporäres Verzeichnis benutzt werden und ich schätze mal, dass hier das Standard-Verzeichnis (z.B. /tmp) genommen wird, falls nichts anderes angegeben wird. Wie ganu das läuft sollte eigentlich im Handbuch stehen (Instalation, Konfiguration oder auch bestimmte Parameter bei der Benutzung). Womöglich brauchst du ja auch garkein tempdir...

Ich benutze z.B. seit langem eigentlich nur PEAR::Mail für die validierung von Mail-Adressen. Ich hab mich mit PEAR nie sonderlich anfreunden können, hab daher nicht so den Einblick.

Zitat:
Zitat:
Zitat von Basti
Und löschen? Einfach mit ftp oder ssh via chmod wieder schreibbar machen und löschen. Wo hakt es denn da? Laufen die Skripte unter anderem Benutzer, als dem deines ftp-Accounts? Im Notfall eben via php (unlink()).
Wie ich geschrieben habe, kann ich es per FTP nicht löschen. Mein FTP-Benutzer ist ein anderer als der Apache.
Shell-Zugang habe ich keine. Nur FTP.
Der Webinstaller ist laut Installationsanleitung genau für solche Umgebungen vorgesehen, wo man eben nicht an der Shell was installieren (oder eben löschen) kann.
Hätte ja sein können, dass nur die Rechte falsch gesetzt sind. Da hilft dann nur dein Skript, klar.

Zitat:
Da sollte das Ding vielleicht auch so clever sein, die Zugriffsrechte etwas großzügiger zu setzen.
Ob das wirklich so clever wäre? Wie sollte das Skript denn die Konfiguration der Serverumgebung rauskreigen? Mich ärgert mein Provider übrigens nicht mit so einem Mist.

Viel Glück.
Basti
Basti ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ubuntu: Fehler nach der Installation Igäl Server, Hosting und Workstations 5 20.02.2007 19:07
PEAR Upload Fehler cyberstorm PHP Tipps 2006 3 06.10.2006 17:32
Fehler bei Installation danimauserl2 Server, Hosting und Workstations 9 11.07.2006 00:39
Fehler bei Installation imported_Loki Server, Hosting und Workstations 7 05.06.2006 23:08
Probleme bei der Installation eines Pear Pachages heohni PHP Tipps 2006 3 27.04.2006 11:12
PEAR Installation PsiAgent PHP Tipps 2006 2 09.02.2006 16:22
PEAR Package installieren Zergling-new PHP Tipps 2006 6 03.01.2006 21:49
PEAR Installation bei 1und1 center PHP Tipps 2007 2 19.12.2005 17:46
Fehlermeldung - aber kein fehler... Tschuu HTML, Usability und Barrierefreiheit 16 14.03.2005 15:56
PEAR Installation PHP Tipps 2004-2 14 21.12.2004 16:20
[Erledigt] SOAP/Client.php: PHP Fatal error: Method SOAP_Client::__call PHP-Fortgeschrittene 6 25.11.2004 09:48
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
FEHLER BEI LOKALER INSTALLATION APACHE-PHP-MYSQL PHP Tipps 2004 2 26.10.2004 19:29
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-tipps-2006/42297-fehler-bei-pear-installation.html, http request php pear 1und1, \warning: popen() has been disabled for security reasons\ guess, fehler bei ausführen von php pear, pear fehlermeldung, mdb2 fehler abfangen, go-pear webinstaller exception, was heisst pear fehler, wie binde ich request.php in 1und1 webhosting ein, pecl \popen() has been disabled for security reasons\, zugriffsrechte auf pear ordner, start web frontend of the pear installer zugriff nicht erlaubt, wamp pear installation anleitung, pear anleitung, \pear/console_getopt requires pear installer\, fehler bei pear, ssh pear installieren, pear installer fehler, pear/console_getopt requires pear installer, update pear pear/console_getopt

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:12 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.