Возникли проблемы при попытке установить 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

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


person David Chen    schedule 23.05.2012    source источник


Ответы (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.x.x.tar.gz (где 5.x.x — ваша версия PHP)
  • Если вы используете php > 5.4.10, загрузите исходники с http://php.net/releases, поскольку они не включены в загрузку компонентов MAMP (кредит pulkitsinghal в комментариях)
  • Создайте каталог для ваших исходников PHP:

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

  • Распакуйте php-5.x.x.tar.gz в /Applications/MAMP/bin/php/php5.*/include или /Applications/MAMP/bin/php5/include:

    tar zxvf php-5.x.x.tar.gz -C /Applications/MAMP/bin/php/php5.?.??/include

  • Переименуйте каталог php-5.x.x в 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

person Stephen    schedule 24.06.2012
comment
Это не сработало для меня, но не было времени копаться дальше. - person Mike Gifford; 17.09.2012
comment
большое спасибо - я использовал это, чтобы установить драйвер php mongo с php 5.4.4 - person monofonik; 09.10.2012
comment
Если вы получаете следующее /Applications/MAMP/bin/php/php5.4.4/include/php/Zend/zend.h:51:11: fatal error: 'zend_config.h' file not found, убедитесь, что вы настроили источники php. т.е. в директорию, куда вы скопировали все файлы запускаем ./configure - person greg; 19.01.2013
comment
Ну, сейчас я использую MAMP 2.2, где мне взять component.zip?? - person GusDeCooL; 12.11.2013
comment
Спасибо большое. Вы спасли мою жизнь. Я использовал эту структуру, чтобы установить драйвер mongo с php 5.5.26. - person AliRNazari; 17.08.2015
comment
Я был так уверен, что это сработает... но после запуска ./configure: configure: error: build test не удалось. Подробности смотрите в config.log. dl.dropboxusercontent.com/u/17428145/config_log.txt - person Sanfly; 24.09.2016
comment
Я бы очень хотел попробовать это решение, но я не могу найти zip-файл MAMP_component. Когда я перехожу к предложенному URL-адресу, все, что я получаю, это файл pkg. - person Dallas Caley; 17.09.2018

У меня была такая же проблема при попытке 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

(во многом благодаря ответу Стивена, который почти такой же)

person James Newell    schedule 11.04.2013
comment
Это более простой ответ. Одно замечание: переименуйте несжатую папку PHP 5.4.10 просто в php после помещения ее в каталог /include, я был озадачен этим шагом. - person Victor S; 05.05.2013
comment
Этот ответ следует принять, он устраняет проблему, четко объяснен, и я думаю, что он будет работать долгое время. Не то что самый проголосовавший. - person TCB13; 07.12.2014
comment
Но запуск этих команд в терминале влияет не на установку MAMP, а на системную установку PHP, которая мне не помогает. - person zkent; 10.10.2016

Это дополнение к ответу Стивена и комментарию Грега.

При компиляции xdebug 2.3.2 для php 5.6.2 на OSX 10.10.2 мне не удалось избавиться от

Файл zend_config.h не найден

ошибка, пока я не добавил следующую опцию в ./configure в папке php:

./configure --без значка

Благодарность Кэмерон Браунинг

person beniguet    schedule 05.04.2015

Модули PECL — это скомпилированные модули, для их установки вам нужны заголовки PHP. Вы можете найти заголовки на php.net/downloads.php, убедитесь, что вы загружаете версию, которая соответствует вашей версии PHP. Затем вы можете выполнить следующее: Установка PHP OAuth в среде MAMP

person sonique    schedule 18.06.2014