Включить функции system () и exec () на хостинге?

Я разработчик, и я создаю клиентские сайты на своем сервере, а затем использую PHP-скрипт для клонирования его на сервер клиента по завершении. Я пробовал это время, но я получаю ошибку

«Ваш хост не позволяет использовать функции system () и exec ()».

Любая идея, как включить это? У меня есть доступ к cpanel, а главная учетная запись – greengecko.com. Установка WordPress была простой, я просто не могу запустить этот скрипт!

Если ваш хост отключил эти функции, не будет возможности их включить. Вы можете либо обратиться к своему хосту, чтобы узнать, смогут ли они включить их для каждой учетной записи, либо если вы используете бесплатный хостинг, вы можете рассмотреть возможность перехода на платную версию своего хостинга для включения этих функций. По соображениям безопасности они отключены хостом. Однако ваш единственный курс действий, если вы обратитесь к своему веб-хосту или попробуйте перейти на платный хостинг (если это еще не так).

Элайджа, у меня тоже была такая же проблема с системой () и exec (), которая не была включена в php.

Просто скачайте файл php.ini, который находится в корне вашего сайта через FTP, и вы найдете что-то вроде этого:

register_globals = On safe_mode = Off enable_dl = On disable_functions = "exec,passthru,shell_exec,proc_open,popen,system,curl_exec,curl_multi_exec,parse_ini_file,show_source" 

Просто удалите exec (первое слово в строке между ""), которое находится на строке disable_functions, а также удалите систему,

Не забудьте удалить комы (,) двумя словами.

Это сработало для меня.

Имейте в виду, я создал этот файл php.ini около месяца назад, но я не знаю, почему, изменив версию php в cPanel, exec и system вернулись.

Следуйте также хорошим советом, приведенным здесь, с помощью plasmid87, чтобы вернуть его, когда закончите создание клона вашего сайта.

Марио Брунау

Некоторые хостинг-провайдеры позволяют переопределять настройки php.ini из .htaccess (если Apache Httpd) или использовать отдельный файл php.ini откуда-то внутри каталога учетной записи хостинга.

Я не знаком с вашим хостинг-провайдером и поэтому не могу комментировать, возможно ли это. Тем не менее, я могу сказать, что если вы можете воспользоваться таким средством, вы, вероятно, ищете директиву disable_functions .

В качестве еще одного совета, если вы обнаружите, что можете «повторно активировать» защищенные функции PHP, и это делается на учетной записи клиента, я не могу достаточно подчеркнуть, насколько важно помнить, что после этого вы снова «повторно отключите» (отключив exec() и system() в хостинговых аккаунтах все чаще становятся необходимостью, поскольку эксплойты и простые ошибки чрезвычайно дороги для безопасности сервера).