0 Я выхожу на страницу сайта на Битрикс и там есть оператор system('du -h --max-depth=2 '.BASE_PATH.'/bitrix/', $retval); Мне пишется ошибка "Fatal error: Uncaught Error: Call to undefined function system() in /var/www/gipermarmax.ru/local/swiz.php:94 Stack trace: #0 /var/www/gipermarmax.ru/local/swiz.php(70): dirSizeList() #1 {main} thrown in /var/www/gipermarmax.ru/local/swiz.php on line 94". У меня стоит php 8.3.6. nginx/1.18.0 (Ubuntu). Я исследовал эту проблему, но не получил желаемого результата. Вот что мне предлагали: не все библиотеки php установлены, нужно сделать следующее: Код (Text): echo 'SYSTEM PATH:' . getenv('PATH'); putenv('PATH=' . getenv('PATH') . '; [НУЖНЫЙ ПУТЬ]'); Но у меня после первой команды пишется: "syntax error near unexpected token `('", точнее то, что на странице https://ospanel.io/forum/viewtopic.php?t=3378 . А вот здесь я вообще ничего не понял: https://www.drupal.org/project/drupal/issues/4013. В аннотации к php system() присутствует как в php7, так и в php8, это не устаревший оператор. Помогите, пожалуйста, решить этот вопрос.
\system() или <?php phpinfo(); возможно у тебя намеренно на сервере отключены/внесены в список запрещенных функций. Таким грешат бесплатные хосты
Если есть доступ к php.ini , то проверьте строку Код (Text): disable_functions = если функция system указана в значении данной директивы, то нужно ее убрать из списка. Возможно используются политики безопастности для этого нужно проверить включена ли директива open_basedir в php.ini Если же у вас сайт на хостинге, последуйте совету выше, посмотрите phpinfo() - конфигурацию disable_function и если она отключена, то нужно написать в тех. поддрежку.