Включить phar на хостинге Dreamhost?

Итак, я пытаюсь использовать Silex на моем аккаунте Dreamhost, и я получаю сообщение об ошибке

Fatal error: Class 'Phar' not found in blah blah blah...

когда я пытаюсь включить файл Silex.phar. Когда я смотрю на phpinfo(), там нет раздела для Phar, хотя все, что я видел, утверждает, что поддержка Phar должна быть включена по умолчанию в php 5.3. Что бы то ни было, под этим я работаю. Есть идеи?

3 ответа

Решение

Догадаться. Если вы добавите каталог в ~/.php/5.3/ а затем положить файл с именем phprc в нем со следующей строкой в ​​нем

extension=phar.so

тогда расширение phar загружается.

Я обнаружил, что вам нужно добавить еще несколько строк в файл phprc, чтобы он работал в режиме FastCGI.

extension=phar.so
detect_unicode = Off
phar.readonly = Off
phar.require_hash = Off
suhosin.executor.include.whitelist = phar

Как правило, вы не сможете включать / отключать вещи в конфигурации PHP на общем хосте. Есть ряд вещей, которые часто можно настроить с помощью настроек в файлах.htaccess в зависимости от настроек вашего хоста, но включение модулей / библиотек не является одним из них.

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

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

Другие вопросы по тегам