【问题标题】:Having problems while try to install OAUTH with PECL in MAMP on mac OS lion尝试在 Mac OS lion 上的 MAMP 中使用 PECL 安装 OAUTH 时出现问题
【发布时间】:2012-05-29 20:55:43
【问题描述】:

我是设置 php 服务器的新手,我看过其他相关的帖子,似乎没有人和我有同样的错误。 我正在使用 MAMP 2.0.2,并运行 PHP 5.3.6, 我试图在我的本地 MAMP 上安装 oAuth,使用以下命令:

$ 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

再次,发生了什么?

【问题讨论】:

    标签: php oauth mamp pecl


    【解决方案1】:

    这是对斯蒂芬的回答和格雷格的评论的补充

    在 OSX 10.10.2 上为 php 5.6.2 编译 xdebug 2.3.2 时,我无法摆脱

    'zend_config.h' 文件未找到

    错误,直到我在 php 文件夹中的 ./configure 中添加了以下选项:

    ./configure --without-iconv

    Credits to Cameron Browning

    【讨论】:

      【解决方案2】:

      PECL 模块是已编译的模块,为了安装它们,您需要 PHP 头文件。您可以在 php.net/downloads.php 上找到标题,确保下载与您的 PHP 版本匹配的版本。然后你可以关注这个:Installing PHP OAuth in MAMP environment

      【讨论】:

        【解决方案3】:

        我知道这很旧,但我在遇到类似问题时发现了这个问题。

        MAMP 不附带大量 PHP 源代码

        • 下载 MAMP 组件并进行配置
        • 网址: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 in cmets)
        • 为您的 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 的问题

        感谢我找到答案的地方 - :

        Thomas Hunter Blog

        Google Doc detailing process

        【讨论】:

        • 这对我不起作用,但没有时间进一步挖掘。
        • 非常感谢 - 我用它来安装 php 5.4.4 的 php mongo 驱动程序
        • 如果您收到以下/Applications/MAMP/bin/php/php5.4.4/include/php/Zend/zend.h:51:11: fatal error: 'zend_config.h' file not found,请确保您配置了 php 源。即在您复制所有文件的目录中运行 ./configure
        • 唯一的调整是 MAMP_components_2.1.2 没有 php5.5.3 的 zip,因此必须从 php.net/releases 检索。
        • 非常感谢。你救了我的命。我使用这个结构来安装 php 5.5.26 的 mongo 驱动程序
        【解决方案4】:

        我在尝试使用 MAMP pecl install -f ssh2 时遇到了同样的问题。

        这是我修复它的方法:

        1. MAMP 不提供 PHP 5.4.10 的源代码存档,请从php.net 下载
        2. 将源代码存档解压到/Applications/MAMP/bin/php/php5.4.10/include/php
        3. 运行./configure 为您的平台配置源代码(如果没有这一步,pecl 安装将无法查找一堆头文件)
        4. 重试您的pecl 安装

        (非常感谢斯蒂芬的回答几乎相同)

        【讨论】:

        • 这是更简单的答案。需要注意的一点:将未压缩的 PHP 5.4.10 文件夹重命名为 php,然后将其放入 /include 目录,我对这一步感到困惑。
        • 这个答案应该被接受,它解决了问题,解释得很清楚,我想它会工作很长时间。不像投票最多的那个。
        • 但是在终端中运行这些命令不会影响 MAMP 安装,但是 PHP 的系统安装似乎对我没有帮助。
        猜你喜欢
        • 2012-08-29
        • 1970-01-01
        • 1970-01-01
        • 2018-06-04
        • 2011-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多