Я новичок в настройке php-серверов, и я пошел, несмотря на другие связанные сообщения, похоже, что у меня нет такой же ошибки, как у меня. Я использую MAMP 2.0.2 и запускаю PHP 5.3.6, и я пытался установить oAuth на свой локальный MAMP, используя следующие команды:
$ cd /Applications/MAMP/bin/php/php5.3.6/bin $ ./pecl install oauth
однако он возвращает такую ошибку:
Notice: unserialize(): Error at offset 276 of 1133 bytes in Config.php on line 1050 ERROR: The default config file is not a valid config file or is corrupted.
Что происходит? PECL поставляется в MAMP, который должен работать из коробки ….
Обновить:
Я прочитал сообщение в другом месте, предположим, что данные конфигурационного файла, в которых содержатся пути установки, являются правильными, поэтому я изменил некоторое значение в следующем файле:
/Applications/MAMP/bin/php/php5.3.6/conf/pear.conf
Затем я использую команду:
$ ./pecl install oauth
Что он начинает загружать и распаковывать, но когда он пытается установить, он дает:
creating libtool appending configuration tag "CXX" to libtool configure: creating ./config.status config.status: creating config.h running: make /bin/sh /private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/libtool --mode=compile cc -I. -I/private/tmp/pear/temp/oauth -DPHP_ATOM_INC -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/include -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/main -I/private/tmp/pear/temp/oauth -I/Applications/MAMP/bin/php/php5.3.6/include/php -I/Applications/MAMP/bin/php/php5.3.6/include/php/main -I/Applications/MAMP/bin/php/php5.3.6/include/php/TSRM -I/Applications/MAMP/bin/php/php5.3.6/include/php/Zend -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -Wall -g -c /private/tmp/pear/temp/oauth/oauth.c -o oauth.lo mkdir .libs cc -I. -I/private/tmp/pear/temp/oauth -DPHP_ATOM_INC -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/include -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/main -I/private/tmp/pear/temp/oauth -I/Applications/MAMP/bin/php/php5.3.6/include/php -I/Applications/MAMP/bin/php/php5.3.6/include/php/main -I/Applications/MAMP/bin/php/php5.3.6/include/php/TSRM -I/Applications/MAMP/bin/php/php5.3.6/include/php/Zend -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -Wall -g -c /private/tmp/pear/temp/oauth/oauth.c -fno-common -DPIC -o .libs/oauth.o In file included from /private/tmp/pear/temp/oauth/oauth.c:14: /private/tmp/pear/temp/oauth/php_oauth.h:20:10: fatal error: 'php.h' file not found include "php.h" ^ 1 error generated. make: *** [oauth.lo] Error 1 ERROR: `make' failed
Опять же, что происходит?
Я знаю, что это старо, но я нашел этот вопрос, имея аналогичную проблему.
MAMP не поставляется с кучей источников PHP
Создайте каталог для ваших источников PHP:
mkdir -vp /Applications/MAMP/bin/php5/include
Untar php-5.xxtar.gz в /Applications/MAMP/bin/php/php5.*/include или / Applications / MAMP / bin / php5 / include:
tar zxvf php-5.xxtar.gz -C /Applications/MAMP/bin/php/php5.?.??/include
Переименуйте каталог php-5.xx в php (без нумерации версий):
mv /Applications/MAMP/bin/php/php5.2.17/include/php-5.?.?? /Applications/ MAMP/bin/php/php5.2.17/include/php
Настройте PHP-источники (создайте необходимые файлы, например zend_config.h, tsrm_config.h и т. Д.):
cd /Applications/MAMP/bin/php/php5.?.??/include/php
./configure
Этот процесс был для другого исправления, но это устраняло проблемы с php.h, которые не были найдены
Спасибо, где я нашел ответы -:
Блог Томаса Хантера
Процесс детализации Google Doc
У меня была такая же проблема, пытаясь pecl install -f ssh2
с помощью MAMP.
Вот как я его исправил:
./configure
чтобы настроить исходный код для вашей платформы (без этого шага установка pecl не сможет найти кучу файлов заголовков) pecl
установки (спасибо автору Стивена, который почти такой же)
Это дополнение к ответу Стивена и комментарий Грега
При компиляции xdebug 2.3.2 для php 5.6.2 на OSX 10.10.2 я не мог избавиться от
Файл "zend_config.h" не найден
до тех пор, пока я не добавлю следующую опцию ./configure в папку php:
./configure –without-iconv
Кредиты для Кэмерона Браунинга
Модули PECL являются скомпилированными модулями, для их установки нужны заголовки PHP. Вы можете найти заголовки на php.net/downloads.php, убедитесь, что вы загружаете версию, соответствующую вашей версии PHP. Затем вы можете выполнить следующее: Установка PHP OAuth в среде MAMP