PDA

Bekijk Volledige Versie : PHP5.2 exec() is disabled??



WH-Tim
02/04/08, 22:45
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?

Wido
02/04/08, 23:11
Draai eens een phpinfo()?

WH-Tim
02/04/08, 23:40
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..

Randy
03/04/08, 02:01
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.

WH-Tim
03/04/08, 07:47
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

QBell
03/04/08, 08:38
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.

Wido
03/04/08, 11:26
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 ;)

Apoc
03/04/08, 12:58
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.

Randy
04/04/08, 02:15
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

Randy
04/04/08, 14:10
Ja, ook een optie. open_basedir restricties wel even uitzetten voor het account, als hij niet in de /var/www staat

WH-Tim
04/04/08, 16:50
Serieus mannen, het probleem is al lange tijd opgelost. Deze mag van mij een slotje op.

Wido
04/04/08, 16:53
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. :)