Alt 17.10.2009, 15:31:36   #1 (permalink)
Erfahrener Benutzer

ID: 118459
Lose-Remote

Reg: 20.04.2006
Beiträge: 4.493
flaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehen
Standard [PHP] include_path kann nicht gesetzt werden

Ich versuche mit set_include_path() den include_path zusetzen. Die Funktion gibt aber false zurück, es klappt also nicht. Dies ist auch das korrekte Verhalten, aber das sagt uns leider nicht, wieso es nicht klappt.

Jetzt ist die Frage, wieso das fehlschlägt. Ich habe gerade mit dem Server-Administrator ne Stunde lang nach dem Problem gesucht, wir sind aber nicht fündig geworden.
Es handelt sich bei dem Server um einen Confixx-Server und das Script basiert auf dem Zend Framework. Wir wollen die Scripts ungerne umschreiben (bzw. gar nicht), das würde nur extra Probleme geben bei Updates.
Wir wollen auch ungerne die Include Paths für alle Ordner in der Vhost anlegen.

Jetzt ist die Frage, welche Ursachen kann es haben, dass der include_path nicht im Script gesetzt werden darf?
Wir haben es mit dem deaktivieren des Safe-Modes versucht und zurücksetzen des includes_path in der Vhost, mit "", "." und none als Werte. Bei "" und "." war dies der neue Wert für den include_path, bei none wurde die globale Einstellung aus der php.ini übernommen.

Gibt es noch andere Möglichkeiten dafür, dass das setzen des include_path fehlschlägt? Oder gibt es Möglichkeiten festzustellen, wodran es scheitert?
Viele Grüße
flaschenkind
flaschenkind ist offline   Mit Zitat antworten
Gesponsorte Links
Alt 17.10.2009, 17:39:41   #2 (permalink)
Erfahrener Benutzer

ID: 141382
Lose-Remote

Reg: 20.05.2006
Beiträge: 414
TerraTux kann auf vieles stolz seinTerraTux kann auf vieles stolz seinTerraTux kann auf vieles stolz seinTerraTux kann auf vieles stolz seinTerraTux kann auf vieles stolz seinTerraTux kann auf vieles stolz seinTerraTux kann auf vieles stolz seinTerraTux kann auf vieles stolz sein
Standard

Es gibt in der PHP.INI noch "disable_functions", weiß im Moment allerdings nicht wie sich das beim Aufruf bemerkbar macht (False oder Fehlermeldung). Soweit ich aber weiß fummelt Confixx darin herum und deaktivert PHP-Funktionen wie exec() usw...

Werkelt da nicht auch suexec rum? Vielleicht sind's ja nur irgendwelche Berechtigungen, die den Zugriff verweigern, und PHP aber nur False zurückgibt weil es misslungen ist?

Sind nur Ideen, hatte das Problem noch nicht und nutze auch Confixx nicht...

Gruß
TerraTux ist offline   Mit Zitat antworten
Alt 17.10.2009, 17:49:03   #3 (permalink)
Erfahrener Benutzer

ID: 118459
Lose-Remote

Reg: 20.04.2006
Beiträge: 4.493
flaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehen
Standard

Ne, gäbe ne Fehlermeldung wenn man nicht darauf zugreifen darf.
Viele Grüße
flaschenkind
flaschenkind ist offline Threadstarter   Mit Zitat antworten
Alt 18.10.2009, 11:27:45   #4 (permalink)
redraft.de

ID: 155297
Lose-Remote
Krank

strolch00 eine Nachricht über ICQ schicken
Reg: 21.04.2006
Beiträge: 1.681
strolch00 ist ein wunderbarer Anblickstrolch00 ist ein wunderbarer Anblickstrolch00 ist ein wunderbarer Anblickstrolch00 ist ein wunderbarer Anblickstrolch00 ist ein wunderbarer Anblickstrolch00 ist ein wunderbarer Anblickstrolch00 ist ein wunderbarer Anblick
Standard

Schonmal
PHP-Code:
1:
ini_set('include_path''PathValue'); 
probiert, ich weiß nicht wieso aber ich ziehe diese Variante der direkten Funktion immer vor und hatte noch nie Probleme.

Btw: evtl noch interessant für Dich http://forum.webhostlist.de/forum/3-x-allgemein... weiß ja nich was Du für ne PHP Version oben hast.
strolch00 ist offline   Mit Zitat antworten
Alt 18.10.2009, 11:52:50   #5 (permalink)
Erfahrener Benutzer

ID: 118459
Lose-Remote

Reg: 20.04.2006
Beiträge: 4.493
flaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehen
Standard

Zitat:
Zitat von strolch00 Beitrag anzeigen
Schonmal
PHP-Code:
1:
ini_set('include_path''PathValue'); 
probiert, ich weiß nicht wieso aber ich ziehe diese Variante der direkten Funktion immer vor und hatte noch nie Probleme.

Btw: evtl noch interessant für Dich http://forum.webhostlist.de/forum/3-x-allgemein... weiß ja nich was Du für ne PHP Version oben hast.
Mit ini_set ist es genauso. Die PHP Version ist 2.5.6, es hängt also damit zusammen, dass der Wert schon einmal irgendwo in einer VHost gesetzt ist.
Den Thread haben wir auch gefunden, aber das hat uns nicht wirklich geholfen. Das hat nicht geklappt und Confixx lief danach auch nicht mehr
Viele Grüße
flaschenkind
flaschenkind ist offline Threadstarter   Mit Zitat antworten
Alt 18.10.2009, 12:00:12   #6 (permalink)
return void
Benutzerbild von ice-breaker

ID: 93995
Lose-Remote

ice-breaker eine Nachricht über ICQ schicken
Reg: 27.04.2006
Beiträge: 6.026
ice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehen
Standard

Zitat:
Zitat von flaschenkind Beitrag anzeigen
Die PHP Version ist 2.5.6
na dann kannste das Zf sowieso net nutzen

Ich kann dich vollkommen nachvollziehen, ich hatte mit meinem Hoster mal das gleiche Problem, bei den Recherchen bin ich auf 3 Möglichkeiten gestoßen:
  1. set_include_path war im PHP-Core kaputt, das war z.B. in 5.2.0 so
  2. der include_path wurde mit php_admin_value gesetzt, wodurch du nichts mehr ändern konntest
  3. es gab wohl einige Male Probleme mit den fertigen PHP Debian Packages, also mal schauen ob das Problem bei selbst kompilierten PHP-Versionen noch auftritt


"Die Wahrheit entgeht dem, der nicht mit beiden Augen sieht." -Orici
ice-breaker ist offline   Mit Zitat antworten
Alt 18.10.2009, 12:45:07   #7 (permalink)
Erfahrener Benutzer

ID: 118459
Lose-Remote

Reg: 20.04.2006
Beiträge: 4.493
flaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehen
Standard

Zitat:
Zitat von ice-breaker Beitrag anzeigen
na dann kannste das Zf sowieso net nutzen
Ich meinte natürlich 5.2.6

Zitat:
Zitat von ice-breaker Beitrag anzeigen
Ich kann dich vollkommen nachvollziehen, ich hatte mit meinem Hoster mal das gleiche Problem, bei den Recherchen bin ich auf 3 Möglichkeiten gestoßen:
  1. set_include_path war im PHP-Core kaputt, das war z.B. in 5.2.0 so
  2. der include_path wurde mit php_admin_value gesetzt, wodurch du nichts mehr ändern konntest
  3. es gab wohl einige Male Probleme mit den fertigen PHP Debian Packages, also mal schauen ob das Problem bei selbst kompilierten PHP-Versionen noch auftritt
1. Jetzt gilt: It's not a bug, it's a feature Seit PHP 5.2.5 kann man set_include_path nicht mehr nutzen, wenns per php_admin_value gesetzt ist (Punkt 2)
3. Ich bezweifel, dass der Admin PHP selber kompiliert, da laufen noch andere Projekte auf dem Server, die dann erstmal down wären
Viele Grüße
flaschenkind
flaschenkind ist offline Threadstarter   Mit Zitat antworten
Alt 18.10.2009, 13:23:27   #8 (permalink)
www.evanetworks.de

ID: 197115
Lose-Remote

Reg: 20.04.2006
Beiträge: 1.369
morpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblick
Standard

Ich hatte vor einiger Zeit auf einem Confixx-Server ähnliche Probleme und ebenfalls stundenlang nach der Ursache gesucht. Dann bin ich auf die "confixx_mhost.conf" gestossen, die im Konfig-Verzeichnis des Apachen liegt, meist /etc/apache2 (bei Debian).

In dieser Confixx-eigenen Datei, die den VHost für Confixx selbst konfiguriert, steht ganz oben eine Zeile, die da heisst:

Code:
1:
php_admin_value include_path .
Da diese Zeile ausserhalb eines virtuellen Hosts definiert wird, gilt diese auch global für den ganzen Server. Ich habe dann diese Zeile gelöscht und siehe da, meine Probleme waren verschwunden. Der Safe-Mode muss aber dennoch deaktiviert werden, um den include_path per Script setzen zu können.

Evtl. hilft das in diesem Fall ja auch weiter...
Allerdings denke ich mal, dass Confixx, sobald dieses aktualisiert wird, die confixx_mhost.conf neu schreiben und diese Zeile da wieder erscheinen wird. Also müsste das dann nach jedem Confixx-Update neu überprüft werden.

EDIT:
OK, das wurde ja weiter oben schonmal erwähnt. Aber das Confixx danach nicht mehr läuft, kann ich nicht bestätigen.
morpheus1510 ist offline   Mit Zitat antworten
Alt 18.10.2009, 13:34:54   #9 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.469
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Ich schieb den Thread mal mit nach
Webhosting
theHacker ist offline   Mit Zitat antworten
Alt 18.10.2009, 13:38:58   #10 (permalink)
Erfahrener Benutzer

ID: 118459
Lose-Remote

Reg: 20.04.2006
Beiträge: 4.493
flaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehen
Standard

Zitat:
Zitat von morpheus1510 Beitrag anzeigen
EDIT:
OK, das wurde ja weiter oben schonmal erwähnt. Aber das Confixx danach nicht mehr läuft, kann ich nicht bestätigen.
Vllt hater vergessen den include_path wo anders noch zu setzen.
Aber das Problem mit dem Überschreiben belibt natürlich, gibt es Möglichkeiten, dass zu unterbinden?
Viele Grüße
flaschenkind
flaschenkind ist offline Threadstarter   Mit Zitat antworten
Alt 18.10.2009, 14:08:13   #11 (permalink)
return void
Benutzerbild von ice-breaker

ID: 93995
Lose-Remote

ice-breaker eine Nachricht über ICQ schicken
Reg: 27.04.2006
Beiträge: 6.026
ice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehen
Standard

Du solltest vllt erstmal schauen, ob die Variable wirklich vor Schreibzugriff geschützt ist.
Mit ini_get_all und der Aufschlüsselung der Rechte in den Comments, habe ich damals das nachgeprüft.


"Die Wahrheit entgeht dem, der nicht mit beiden Augen sieht." -Orici
ice-breaker ist offline   Mit Zitat antworten
Alt 18.10.2009, 14:13:38   #12 (permalink)
www.evanetworks.de

ID: 197115
Lose-Remote

Reg: 20.04.2006
Beiträge: 1.369
morpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von flaschenkind Beitrag anzeigen
Aber das Problem mit dem Überschreiben belibt natürlich, gibt es Möglichkeiten, dass zu unterbinden?
Nein, die Möglichkeiten gibt es leider nicht. Confixx ist, was solche Dinge angeht, sehr unflexibel, schon immer gewesen und ändern wird sich daran sicherlich nichts.
morpheus1510 ist offline   Mit Zitat antworten
Alt 18.10.2009, 14:38:00   #13 (permalink)
Erfahrener Benutzer

ID: 118459
Lose-Remote

Reg: 20.04.2006
Beiträge: 4.493
flaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehenflaschenkind genießt hohes Ansehen
Standard

Zitat:
Zitat von ice-breaker Beitrag anzeigen
Du solltest vllt erstmal schauen, ob die Variable wirklich vor Schreibzugriff geschützt ist.
Mit ini_get_all und der Aufschlüsselung der Rechte in den Comments, habe ich damals das nachgeprüft.
PHP-Code:
1:
2:
3:
4:
5:
6:
[include_path] => Array
        (
            [
global_value] => .:/usr/share/php:/usr/share/pear
            
[local_value] => [...]
            [
access] => 60
        

So siehts aus. Was sagt mir das access = 60? In den Userkommentaren im Maual zu ini_get_all() steht lediglich was von 1, 2, 4 und 7.

Zitat:
Zitat von morpheus1510 Beitrag anzeigen
Nein, die Möglichkeiten gibt es leider nicht. Confixx ist, was solche Dinge angeht, sehr unflexibel, schon immer gewesen und ändern wird sich daran sicherlich nichts.
Hmm, das ist schlecht
Viele Grüße
flaschenkind
flaschenkind ist offline Threadstarter   Mit Zitat antworten
Alt 19.10.2009, 02:04:40   #14 (permalink)
Benutzer

ID: 67762
Lose-Remote
Abwesend

Reg: 27.08.2006
Beiträge: 87
iledelacite iledelacite
Standard

Zitat:
Zitat von flaschenkind Beitrag anzeigen
PHP-Code:
1:
2:
3:
4:
5:
6:
[include_path] => Array
        (
            [
global_value] => .:/usr/share/php:/usr/share/pear
            
[local_value] => [...]
            [
access] => 60
        

So siehts aus. Was sagt mir das access = 60? In den Userkommentaren im Maual zu ini_get_all() steht lediglich was von 1, 2, 4 und 7.
6 = 4 + 2, 0 = nicht vorhanden. Ich nehme mal an das ist bezogen auf "per php.ini" bzw. "in der Datei direkt setzen"! Würde mal sagen das geht nich in der Datei direkt zu setzen. In meiner (lokalen) PHP Hilfedatei find ich nix zu das man das über ini_set auch setzen kann... Würd ich jetz also mal von ausgehen geht nüch...


Zitat:
Zitat von flaschenkind Beitrag anzeigen
Hmm, das ist schlecht
Nartürlich kann das auch Confixx. Da gibts irgendwo ein "http_special" (sorry weiss nimmer wie das genau heisst - benutze seit Unzeiten kein Confixx mehr). Dort einfach reintun:

php_admin_value include_path "<path>"

Alternativ falls dein Confixx das nich kennt - kann sein das man das als "Hoster" deaktivieren kann - einfach eine .htaccess Datei in den entsprechenden Ordner + gleichen Inhalt wie eben beschrieben mit dem admin_value.
iledelacite ist offline   Mit Zitat antworten
Alt 19.10.2009, 08:02:00   #15 (permalink)
www.evanetworks.de

ID: 197115
Lose-Remote

Reg: 20.04.2006
Beiträge: 1.369
morpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblickmorpheus1510 ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von iledelacite Beitrag anzeigen
Nartürlich kann das auch Confixx. Da gibts irgendwo ein "http_special" (sorry weiss nimmer wie das genau heisst - benutze seit Unzeiten kein Confixx mehr). Dort einfach reintun:

php_admin_value include_path "<path>"
Es ging dabei aber nicht darum, die VHosts der Kunden dauerhaft zu ändern, was natürlich per "HTTP Spezial" geht, sondern darum, das Überschreiben der Konfigurationsdatei "confixx_mhost.conf" zu verhindern, wenn ein Confixx-Update vorgenommen wird. In dieser Datei wird, wie bereits geschrieben, der VHost für Confixx selbst konfiguriert und da erreichst du mit "HTTP Spezial" überhaupt nichts, da dieser VHost eben nicht zu den Kunden-VHosts gehört. Wenn du eine Änderung in der "confixx_mhost.conf" vornimmst und irgendwann später ein Update von Confixx durchführst, wird diese neu generiert (im Laufe des Updates) und die Änderungen werden darin garantiert überschrieben, ohne, dass du das irgendwie verhindern könntest.

Butter und Eier sind halt doch nicht dasselbe

EDIT:
Was mir gerade einfällt:
Es gibt da einen Ordner "/root/confixx/safe" in dem man diverse Dateien ablegen kann, die während einem Vorgang, wie einem Update, nicht angerührt, bzw. überschrieben werden dürfen. Dort kann man, z.B., notwendige Änderungen an der Konfig für Spamassassin vornehmen, die dann von Confixx auch prompt übernommen werden. Es ist nur eine Vermutung, ausprobiert habe ich das noch nicht aber vielleicht funktioniert das auch mit der "confixx_mhost.conf" während einem Update, wenn man eine Kopie der Datei dort ablegt. Normalerweise soll das nur vor Änderungen während der cronjobmässigen Aktualisierungen schützen aber evtl. hat SWsoft/Parallells ja mal für einen Lichtblick gesorgt und es funktioniert so.
morpheus1510 ist offline   Mit Zitat antworten
Antwort

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
<Datei> kann nicht kopiert werden: Das Verzeichnis oder die Datei kann nicht erstellt werden. Hamsta Sonstiges 10 06.06.2009 00:05:07
Cookies werden nicht gesetzt/WMS Login streikt *funktioniert wieder* hier kann zu Teuphil Bug-Report 3 17.06.2007 11:15:32
Website kann nicht aufgerufen werden Jolle Sonstiges 6 13.11.2006 18:56:11
Zip Ordner kann nicht entpackt werden FrankyP Software/Windows 2 23.07.2006 13:28:10
Seite kann nicht angezeigt werden toni Bug-Report 25 01.05.2006 21:51:03


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48:27 Uhr.