не работает exec

fStrange

Новичок
не работает exec

... и аналогичные passthru,shell_exec,...

error_reporting(E_ALL);
echo exec('ls',$a);
print_r($a);
echo(shell_exec('ls -lart'));

на выходе '' , array(), ''



из пшп инфо
display_errors:On
disable_functions: pcntl_exec, mb_send_mail
safe_mode:Off
safe_mode_exec_dir:no value

где копать?
 

Nelius

кипарис во дворе
а. Так со всеми коммандами или только с ls?
b. А в шеле под этим же юзером эти комманды выполняются?
 

fStrange

Новичок
Nelius
1. пробовал запускать exec ("/usr/bin/php -f ".dirname($_SERVER['SCRIPT_FILENAME'])."/make.php")
ранее работало, теперь нет, из за чего и начал копать
и упростил до предела
пробовал ls,whoami

2.шелла нет
 

Nelius

кипарис во дворе
Ну проблема явно в настройках или пхп или хостинга в целом. И если вы ничего не трогали а оно просто перестало работать то скорее всего хостер ваш что-то изменил. Я бы обратился в тех. поддержку.
 

fStrange

Новичок
Nelius
уже обратился
но мне любопытно на будущее, какими настройками можно так ограничить exec подобные функции
 

Nelius

кипарис во дворе
Какими настройками пхп не скажу, да и не знаю можно ли вообще, просто не было такой задачи ни разу. А вот в Linux, если запретить юзеру, под которым выполняется php(или Apache, если как мод), выполнение комманд, то вероятно что через exec и подобные функции они работать тоже не будут.
С точки зрения безопасности, особенно для хостинга, даже необходимо запрещать выполнение многих комманд.
 
Сверху