Подтвердить что ты не робот

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

Update:

Я прочитал сообщение в другом месте, предположим, что данные файла конфигурации, которые содержат пути установки, являются правильными, поэтому я изменил некоторое значение в следующем файле:

/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

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

4b9b3361

Ответ 1

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

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

  • Untar php-5.x.x.tar.gz в /Applications/MAMP/bin/php/php 5.*/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

Ответ 2

У меня была такая же проблема, когда мы пытались pecl install -f ssh2 с помощью MAMP.

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

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

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

Ответ 3

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

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

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

пока я не добавлю следующий параметр. /configure в папку php:

./configure --without-iconv

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

Ответ 4

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