Страница 1 из 1

PEAR не ставится после перехода с PHP52 на 5.3

Добавлено: 2012-03-21 11:49:52
Dmitriy_K
У меня возник какой-то мёртвый затык с установкой PEAR после перехода с PHP52 на 5.3.
Я предварительно полность снёс PHP52, потом поставил 5.3 (php5-extensions-1.6). Когда попытался поставить pear-1.9.4_1, он маниакально стал выдавать ошибку:

Код: Выделить всё

Preparing installer..................
*** Error code 255
Stop in /usr/ports/devel/pear.
*** Error code 1
Что плохо, не выводится никакой полезной информации о причине затыка. Пробовал пересобрать-обновить всё от чего он зависит, но бестолку. :(
Если кто сталкивался с таким, подскажите пожалуйста.

Re: PEAR не ставится после перехода с PHP52 на 5.3

Добавлено: 2012-03-21 13:06:19
Dmitriy_K
Нашёл причину. Довольно неожиданно, как всегда. :pardon:
Оказалось, новый PHP давал сбой при попытке запуска со старым php.ini
Я его не сразу смог подкорректировать. Но как только сделал, проверил запуск сборки PEAR и всё прошло.
Если кто будет писать скрипты установки пакетов, завещаю включать туда вывод хоть какой-то информации о причине сбоя.

Re: PEAR не ставится после перехода с PHP52 на 5.3

Добавлено: 2013-07-31 17:57:36
Dmitriy_K
С этим REAR постоянно гадские засады. :evil:
Недавно опять отказался собираться без всяких видимых причин с той же самой ошибкой, которая не позволяет ничего понять. Методом экспериментального тыка был заменён php.ini на php.ini-recommended, что устранило ошибку. Оказалось, что для сборки REAR стало требоваться, чтобы параметр disable_functions был пустым. :st:
В современном PHP это стало модным, что я уже оценил, когда у меня по той же причине отказался работать web-интерфейс к xСache-3.0.1.r1 :(
Но нафига тогда в руководстве по PHP (http://www.php.net/manual/en/ini.core.p ... -functions) пишут:
This directive allows you to disable certain functions for security reasons.
Так бы и написали везде, что depricated.
И что делать, если хочется всёж-таки запретить кучу опасных вольностей при системных вызовах из PHP?

Re: PEAR не ставится после перехода с PHP52 на 5.3

Добавлено: 2013-08-04 10:20:49
Alex Keda
каких например?

Re: PEAR не ставится после перехода с PHP52 на 5.3

Добавлено: 2013-08-05 15:06:23
Dmitriy_K
Я говорил о старом стандартном перечне:

Код: Выделить всё

disable_functions = "chdir,dl,ini_get_all,phpinfo,system,shell_exec,popen,proc_open,exec,passthru,pcntl_exec"
В основном, не хотелось бы позволять php-скриптам системные вызовы типа "system", "exec" и т.п.
Их последствия определяются волей программистов, контролировать которую отнюдь не всегда возможно.