У меня есть PHP-скрипт с именем process_item.php, который можно запустить из терминала. Я хочу создать веб-скрипт, который может запустить тот же файл, используя exec()
, Мой веб-скрипт (process_item_online.php) выглядит следующим образом:
ini_set("display_errors",true);
error_reporting(E_ALL);
$item = $_GET['item'];
echo "Received request for item $item<br>";
$cmd = "/usr/bin/php /var/www/html/process_item.php $item";
exec($cmd);
echo "Processed using command - $cmd";
Сценарий process_item.php
имеет 777 разрешений. Когда я запускаю вышеупомянутый скрипт в браузере, я получаю обе эти строки напечатаны правильно:
Received request for item 10023444AJK
Executed command - /usr/bin/php /var/www/html/process_item.php 10023444AJK
Однако больше ничего не происходит. Например, база данных не обновляется, логи не записываются и т. Д. Я не получаю никаких ошибок в браузере. Я уверен, что это проблема с разрешениями, так как она отлично работает с терминала. Кто-нибудь может дать мне какие-нибудь советы о том, как я могу сделать это из браузера?
Задача ещё не решена.
Других решений пока нет …