За последние 24 часа нас посетили 70734 программиста и 3621 робот. Сейчас ищут 2844 программиста ...

php не находит оператор system()

Тема в разделе "PHP для профи", создана пользователем TCHProgrammer, 1 апр 2025.

  1. TCHProgrammer

    TCHProgrammer Активный пользователь

    С нами с:
    8 апр 2015
    Сообщения:
    10
    Симпатии:
    1
    Здравствуйте! Помогите решить проблему.
    Я выхожу на страницу сайта на Битрикс и там есть оператор 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):
    1. echo 'SYSTEM PATH:' . getenv('PATH');
    2. 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, это не устаревший оператор. Помогите, пожалуйста, решить этот вопрос.
    Я вот это ещё не выполнял и не проверял: "в настройках php "disable_functions" стоит запрет на system(), но нет запрета не стоит, также читал, что php работает в безопасном режиме и в настройках php.ini надо найти переменную safe_mode и поставить там off? то в настройках я не нашел такой переменной safe_mode. Помогите пожалуйста настроить php на моем Open Server чтоб данная функция работала." . Это то, что на странице ospanel.io/forum/viewtopic.php?t=3378 . Может есть какие-нибудь другие версии?
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.122
    Симпатии:
    1.222
    Адрес:
    там-сям
  3. TCHProgrammer

    TCHProgrammer Активный пользователь

    С нами с:
    8 апр 2015
    Сообщения:
    10
    Симпатии:
    1
    Я решил этот вопрос. Да, действительно, она была отключена в настройках сервера в php.ini disable_functions. Теперь всё заработало.
     
    artoodetoo нравится это.
  4. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    946
    Симпатии:
    146
    не просто так она отключена была, не просто так...