Возникли проблемы при попытке установить OAUTH с PECL в MAMP на Mac OS Lion

Я новичок в настройке серверов 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

Опять же, что происходит?

4 ответа

Я знаю, что это старый, но я нашел этот вопрос, имея аналогичную проблему.

MAMP не поставляется с кучей источников PHP

  • Загрузите компоненты MAMP и настройте
  • URL: http://www.mamp.info/en/downloads/index.html (например, MAMP_components_2.0.2.zip)
  • Распакуйте свой MAMP_components_2.0.2.zip
  • Определите ваш файл php-5.xxtar.gz (где 5.xx - ваша версия PHP)
  • Если вы используете php > 5.4.10, скачайте исходники с http://php.net/releases как их нет в загрузке компонентов MAMP (credit pulkitsinghal в комментариях)
  • Создайте каталог для ваших источников PHP:

    mkdir -vp /Applications/MAMP/bin/php5/include

  • Разархивируйте php-5.xxtar.gz в /Applications/MAMP/bin/php/php5.*/include или /Applications/MAMP/bin/php5/, включая:

    tar zxvf php-5.x.x.tar.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.

Вот как я это исправил:

  1. MAMP не предоставляет архив исходного кода для PHP 5.4.10, поэтому загрузите его с php.net
  2. Распакуйте архив с исходным кодом в /Applications/MAMP/bin/php/php5.4.10/include/php
  3. Бежать ./configure настроить исходный код для вашей платформы (без этого шага при установке pecl не будет найдено несколько заголовочных файлов)
  4. Повторите ваш 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.

Другие вопросы по тегам