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