Bekijk Volledige Versie : PHP5.2 exec() is disabled??
Ik voer net een script uit op een kale server met php 5.2 erop geinstalleerd en krijg deze welbekende error:
Warning: exec() has been disabled for security reasons in
Ik in de php.ini kijken, en achter disabled_functions is het gewoon helemaal leeg! Iemand een idee hoe dit dan toch kan, of hoe deze functie in kan schakelen?
Draai eens een phpinfo()?
Ik ben geholpen door Ward, het lag aan de php.ini. Met updatedb vondt hij nog steeds maar 1 php.ini , terwijl die helemaal niet geladen werd. Blijft raar, maar die andere config gebruikte hij dus..
Zend geladen? Dan heb je waarschijnlijk een andere php.ini
Standaard staat die bij DA in /usr/local/lib/php.ini, heb je Zend Optimiser geinstalleerd, tref je hem aan in /usr/local/Zend/etc/php.ini.
Ik ben geholpen door Ward, het lag aan de php.ini. Met updatedb vondt hij nog steeds maar 1 php.ini , terwijl die helemaal niet geladen werd. Blijft raar, maar die andere config gebruikte hij dus..
/usr/local/bin/php5-cgi was het geloof ik
Dat is de executable, niet het config bestand.
dreamhost_nl
03/04/08, 11:24
Zoals al eerder vermeld even de phpinfo() functie uitvoeren. In de output staat dan vermeld welk php.ini bestand wordt gebruikt.
Zoals al eerder vermeld even de phpinfo() functie uitvoeren. In de output staat dan vermeld welk php.ini bestand wordt gebruikt.Juist, alleen dat scheen genegeerd te worden ;)
Als je exec() aan zet, is het overigens wel aan te bevelen om te zorgen dat mod_security goed geconfigureerd staat, om eventuele security leaks op te vangen. 9 van de 10 PHP exploits probeert namelijk gebruik van exec(); te maken
Cyberdevil
04/04/08, 01:49
Waarvoor heb je die exec juist nodig. Als dit voor uptime is voor het NOC script hier kan ik je wel helpen.
Waarvoor heb je die exec juist nodig. Als dit voor uptime is voor het NOC script hier kan ik je wel helpen.
$uptime = exec("uptime");
Daarvoor...
Cyberdevil
04/04/08, 04:17
$uptime = exec("uptime");
Daarvoor...
<?php
$load = file_get_contents("/proc/loadavg");
$arr = explode(" ", $load);
echo $arr[0];
?>
? :P
Ja, ook een optie. open_basedir restricties wel even uitzetten voor het account, als hij niet in de /var/www staat
Serieus mannen, het probleem is al lange tijd opgelost. Deze mag van mij een slotje op.
Heel leuk system() of exec() uitzetten, maar wat dachten we van de backtick operators?
http://nl.php.net/manual/nl/language.operators.execution.php
Dan moet je dus exec(), system() en shell_exec() uitzetten.
Maarja, dan hebben we nog proc_open() e.d. :)