繁体   English   中英

在Mac OS Lion上的MAMP中尝试使用PECL安装OAUTH时遇到问题

[英]Having problems while try to install OAUTH with PECL in MAMP on mac OS lion

我是设置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

同样,发生了什么事?

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

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.xxtar.gz文件(其中5.xx是您的PHP版本)
  • 如果您使用的是php> 5.4.10,则从http://php.net/releases下载源代码,因为它们不在MAMP组件下载中(在注释中注明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.xxtar.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文档详细过程

在尝试使用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安装

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

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

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

找不到“ zend_config.h”文件

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

./configure-不带图标

归功于卡梅隆·布朗宁(Cameron Browning)

PECL模块是已编译的模块,要安装它们,您需要PHP标头。 您可以在php.net/downloads.php上找到标头,确保您下载的版本与您的PHP版本匹配。 然后,您可以按照以下步骤操作: 在MAMP环境中安装PHP OAuth

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM