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

27

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

что это старый, но я нашел этот вопрос, когда у меня была похожая проблема.

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

Загрузите компоненты MAMP и настройтеURL:http: //www.mamp.info/en/downloads/index.htm (т.е. 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/release поскольку их нет в загрузке компонентов MAMP (кредит pulkitsinghal в комментариях)

Создайте каталог для ваших источников PHP:

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

Untar 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 не найденными

Кредит, где я нашел ответы -:

Thomas Hunter Blog

Процесс детализации Google Doc

Это не сработало для меня, но у меня не было времени копаться дальше. Mike Gifford
Если ты получишь следующее/Applications/MAMP/bin/php/php5.4.4/include/php/Zend/zend.h:51:11: fatal error: 'zend_config.h' file not found убедитесь, что вы настраиваете источники php. т.е. в каталоге, куда вы скопировали все файлы, запустите ./configur greg
единственный трюк в том, что у MAMP_components_2.1.2 не было zip для php5.5.3, поэтому его нужно было извлечь из Php.net / релизы вместо. pulkitsinghal
Большое спасибо - я использовал это, чтобы установить драйвер php mongo с php 5.4.4 monofonik
Большое спасибо, парень. Вы спасли мою жизнь. Я использовал эту структуру для установки драйвера mongo с php 5.5.2 Ali
29

pecl install -f ssh2 с MAMP.

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

MAMP не предоставляет архив исходного кода для PHP 5.4.10, поэтому загрузите его с Php.net Извлечь архив исходного кода в /Applications/MAMP/bin/php/php5.4.10/include/phБег./configure для настройки исходного кода для вашей платформы (без этого шага при установке pecl не будет найдено несколько заголовочных файлов) Повторяй свойpecl установить

(большое спасибо ответу Стивена, который почти такой же)

Этот ответ должен быть принят, он решает проблему, четко объяснен, и я думаю, он будет работать долго. Не так, как большинство проголосовавших. TCB13
Это самый простой ответ. Стоит отметить: переименуйте несжатую папку PHP 5.4.10 в простоphp после помещения в/include каталог, я был смущен этим шагом. Victor S
Но выполнение этих команд в терминале не влияет на установку MAMP, но на системную установку PHP, которая, похоже, мне не помогает. zkent
6

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

'zend_config.h' файл не найден

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

. / configure --without-iconv

Кредиты Кэмерон Браунинг

1

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

Похожие вопросы