shell_exe c () отключен по соображениям безопасности - PullRequest
0 голосов
/ 21 апреля 2020

Я выполнил скрипт с php cli: php myscript.php

В mycript. php вы можете найти $output = shell_exec('bash migration.sh');

Когда я запускаю скрипт, я получил это ошибка: shell_exec() has been disabled for security reasons

Итак, я попытался решить с помощью следующего решения: php --ini

У меня был следующий результат:

Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed:      /etc/php5/cli/conf.d/curl.ini,
/etc/php5/cli/conf.d/gd.ini,
/etc/php5/cli/conf.d/intl.ini,
/etc/php5/cli/conf.d/mcrypt.ini,
/etc/php5/cli/conf.d/memcache.ini,
/etc/php5/cli/conf.d/memcached.ini,
/etc/php5/cli/conf.d/mysql.ini,
/etc/php5/cli/conf.d/mysqli.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_mysql.ini,
/etc/php5/cli/conf.d/suhosin.ini,
/etc/php5/cli/conf.d/xcache.ini

Я открыл /etc/php5/cli/php.ini и искал disable_functions

Как ни удивительно, disable_functions был пуст: disable_functions =

Я также искал shell_exec или exec в этом файле, но ничего не было найдено. Я также попытался найти путь php.ini с помощью phpinfo(), но это был тот же путь.

Как мне решить мою проблему?

Редактировать после ответов: Это на моей виртуальной машине , Safe_mode отключен: safe_mode = Off в php .ini.

Заранее спасибо за ваши решения.

Ответы [ 2 ]

0 голосов
/ 21 апреля 2020

Вы проверили файл suhosin.ini?

В зависимости от конфигурации, suoshin может также отказать в определенных PHP функциях.

См. https://suhosin.org/stories/howtos.html. Существуют определенные способы, как использовать белый и черный список функций.

0 голосов
/ 21 апреля 2020

Вам нужно настроить php.ini и изменить запись disable_functions , чтобы больше не отображать эту функцию. Имейте в виду, что общей проблемой является редактирование неправильного файла конфигурации (используйте phpinfo(), чтобы проверить это).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...