среда, 23 мая 2012 г.

PHP: архивы PHAR не работают с включённым suhosin patch

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

После некоторого продолжительного поиска в Сети был найден ответ на ServerFault: выполнение phar-архивов блокирует suhosin patch.

Для решения проблемы нужно раскомментировать следующую строку в /etc/php5/cli/conf.d/suhosin.ini:


;suhosin.executor.include.whitelist =

И заменить её на


suhosin.executor.include.whitelist = "phar"

Одноразовое решение выглядит так:


$ php -d suhosin.executor.include.whitelist="phar" MYPHAR.phar