Я пытаюсь использовать базу Silex как базу для своего веб-приложения. Однако, если я пытаюсь включить архив * .phar, PHP вызывает следующую ошибку:
Fatal error: Class 'Phar' not found in /var/www/framework/silex.phar on line 11
В моем /etc/php/php.ini
(как это предлагается в документах Silex) находятся следующие соответствующие строки:
extension=phar.so phar.readonly = Off phar.require_hash = Off detect_unicode = Off
Библиотека PHAR присутствует в /usr/lib/php/modules/phar.so
которая задается как путь расширения для всех библиотек моего php.ini
Кто-нибудь знает, почему PHP бросает эту ошибку?
Попробуйте указать путь к расширению :
php -d extension=phar.so composer.phar <your_script>
Другие варианты:
На основе предоставленной вами информации есть несколько возможностей:
Вы используете другой php.ini. Проверьте вывод phpinfo()
для подтверждения и убедитесь, что вы редактируете активную.
/usr/lib/php/modules/phar.so не читается. Убедитесь, что пользователь веб-сервера может прочитать этот файл.
Ваш веб-сервер не был перезапущен с момента последнего добавления связанной с phar информации в php.ini. Перезагрузите свой веб-сервер.
Это работает для меня:
php -d extension=phar.so composer.phar [... your command ...]
Это включает расширение phar для текущей среды выполнения. Работает для серверов общего доступа / VPC.
Гектометр Я думаю, вам нужно require_once 'phar://silex/silex.phar/autoload.php';
вместо require_once 'silex/silex.phar';
, Если это не так, нам нужно увидеть код, выдающий ошибку.
в моей среде хостинга мне нужно было указать номер версии php. НАПРИМЕР:
php-5.6 composer.phar
не
php composer.phar
Надеюсь, это может пролить свет. Я использовал общий хост и не мог заставить композитора работать. Я использовал эти сайты на http://avantidevelopment.com/install-composer-on-bluehost/, чтобы настроить общий каталог и установить в него композитор. Я последовал за ним, но shoud add для моего псевдонима я добавил следующую команду в .bashrc
alias composer='/ramdisk/php/54/bin/php54-cli ~/common/composer.phar'
Это сделало трюк для меня. Надеюсь, что кто-то споткнутся об этом, он зажжет лампочку.
Для Mageia 4, Mageia 5, Mageia 6 пользователей
>> urpmi php-phar; эхо сделано Для удовлетворения зависимостей будут установлены следующие пакеты: Версия выпуска версии пакета (средний «Core Release2») php-bz2 5.6.30 2.mga6 x86_64 php-phar 5.6.30 2.mga6 x86_64 Будет использовано 326 Кбайт дополнительного дискового пространства. Будет загружено 151 КБ пакетов. Продолжить установку 2 пакетов? (Y / n) y $ MIRRORLIST: media / core / release / php-bz2-5.6.30-2.mga6.x86_64.rpm $ MIRRORLIST: media / core / release / php-phar-5.6.30-2.mga6.x86_64.rpm установка php-phar-5.6.30-2.mga6.x86_64.rpm php-bz2-5.6.30-2.mga6.x86_64.rpm Подготовка ... ######################################################## # 1/2: php-bz2 ############################################# #### 2/2: php-phar ############################################# #### >>