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