Назад | Перейти на главную страницу

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

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

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

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

Догадаться. Если вы добавите каталог в ~/.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 по умолчанию по той или иной причине, поэтому, даже если он включен по умолчанию в стандартный дистрибутив, вы не можете полагаться на его включение на любом данном хосте.

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