Safe_Mode

gamemammut

mammut
25 Mai 2007
800
71
Hallo,

hab den safe_mode auf off gesetzt,bekomme aber folgende Fehlermedlug bei einem Script:

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /home/www/web13/html/tube/general/videoUploadPopUp.php on line 2

ist er doch an?Oder stimmt da was anderes nicht?
 
die PHP.ini wird bei der isapi Installation nur beim Start vom Webserver eigelesen. Evtl kann es auch ein bisschen dauern eh der Hoster die Änderung übernimmt.
 
phpinfo sagt das safer_mode Off ist,
habe in der php.ini safe mode auf off gesetzt und auch über http Spezial im Confixx.

Natürlich habe ich den Apache neu gestartet,net nur einmal
 
Das OS tut nix zur Sache dazu. Beispiel:
Beim Aufruf von https://www.example.com/foo.php, nimmt der Apache von example.com:80 die Verbindung an und liest aus dem Request, dass er foo.php ausliefern soll. In der httpd.conf des Apache steht jetzt drin
Code:
AddType application/x-httpd-php5 .php .php5
Action application/x-httpd-php5 "/php5/php-cgi.exe"
(afaik heißt bei Linux das Binary nur php.exe). Damit sieht er, dass er PHP aufrufen muss. Und erst zu diesem Zeitpunkt wird der PHP-Interpreter gestartet. Dieser lädt während der Initialisierung die php.ini.
PHP:
    /* this will read in php.ini, set up the configuration parameters,
       load zend extensions and register php function extensions
       to be loaded later */
    if (php_init_config(TSRMLS_C) == FAILURE) {
        return FAILURE;
    }
Quelle: PHP 5.2.4, main/main.c, Zeilen 1715 - 1720

Und wenn man jetzt nachdenkt: Es wird bei jedem neuen Request - sogar wenn über dieselbe HTTP-Verbindung (keep-alive) mehrere .php-Dateien requestet werden - eine neue Instanz des PHP-Interpreter gestartet, also wird auch jedes Mal die Konfiguration neu eingelesen.

Probiers ruhig mal aus. Ändere die php.ini und mach dann nur n F5 im Browser. Die Änderung schlägt sich sofort nieder.
 
Soweit ich weiß stimmt das nur bedingt. Man kanns zwar so machen, aber wenn für jeden Aufruf php gestartet werden muss, hat man eben einen riesigen Overhead. Das umgeht man üblicherweise per fastcgi, so dass der Prozess persistent bestehen bleibt.
 
Das Script benutzt nicht zufällig ein Template-System und die Fehlermeldung befindet sich jetzt in einem gecachten Template?

p.s. Also ich muss jedes mal den Dienst vom Apache neu starten damit der Änderungen in der php.ini einliest.
 
ich weiß auch net was da los ist,manchmal wird die Meldung angezeigt und manchmal nicht,dafür ist ein neuer Fehler zu fidnen :))

aber das hat was mit dem Script zu tun denk ich....