在MAMP OSX 10.6上安装Pecl Oauth模块

时间:2010-11-10 14:59:58

标签: php oauth mamp pecl

好的,所以经过一天搞乱各种事情,比如Fink,Macports,Pecl等等,我已经设法在OSX上安装了oauth.so模块。

但是,我在本地使用MAMP,我认为它使用自己的PHP版本(即在它自己的位置),并且该模块已安装到PHP的主系统版本?

所以我从MAMP文件夹中运行了PECL的版本:

sudo /Applications/MAMP/bin/php5.2/bin/pecl install oauth

但它似乎已经将它安装在通用文件夹中

    ...
    Build process completed successfully
    Installing '/usr/lib/php/extensions/no-debug-non-zts-20090626/oauth.so'
    install ok: channel://pecl.php.net/oauth-1.0.0
    configuration option "php_ini" is not set to php.ini location
    You should add "extension=oauth.so" to php.ini

请注意/ usr / lib / ...文件夹。 但php.ini MAMP正在使用,实际上在/Applications/MAMP/bin/php5.2/lib/php/extensions/no-debug-non-zts-20060613

我认为这就像复制.so文件一样容易......但是希望得太多......

任何人都可以帮助我,我怎样才能在正确的文件夹中安装此扩展程序并让php知道它?

由于

4 个答案:

答案 0 :(得分:4)

我在Mac OSX版本10.7.4上运行MAMP版本1.9.6并遇到了同样的问题。

我在/Applications/MAMP/logs/php_error.log

检查了我的MAMP php错误日志

发现此错误

[22-Jul-2012 12:11:20] PHP Warning:  PHP Startup: Unable to load dynamic library '/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/oauth.so' - dlopen(/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/oauth.so, 9): no suitable image found.  Did find:
        /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/oauth.so: mach-o, but wrong architecture in Unknown on line 0

我用以下内容修复了它:

  1. http://pecl.php.net/package/oauth

    下载源代码

    打开终端,导航到下载文件所在的位置,然后键入以下命令:

  2. tar xzvf oauth-1.1.0.tgz

  3. cd oauth-1.2.2/oauth-1.2.2

  4. phpize

  5. sudo ./configure MACOSX_DEPLOYMENT_TARGET=10.7 CFLAGS="-arch i386 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch i386 -g -Os -pipe" CXXFLAGS="-arch i386 -g -Os -pipe" LDFLAGS="-arch i386 -bind_at_load"

    注意:请确保在上述命令中为TARGET键入正确的Mac OSX版本号。

  6. sudo make

  7. sudo make install

  8. sudo cp /usr/lib/php/extensions/no-debug-non-zts-20090626/oauth.so /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/oauth.so

  9. 在您喜欢的编辑器中,打开php.ini(在我的情况下,它位于 /Applications/MAMP/conf/php5.3/php.ini) 并在扩展区域中添加以下行:

    extension=oauth.so

  10. 保存更改并重新启动MAMP。您应该在MAMP PHPINFO页面中看到一个oauth条目。

答案 1 :(得分:0)

你应该将pecl的php_ini设置设置为指向你的MAMP安装的php.ini。所以:

sudo /Applications/MAMP/bin/php5.2/bin/pecl config-set /Applications/MAMP/conf/php.ini

这应该让pecl使用你当前的MAMP php配置

答案 2 :(得分:0)

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

答案 3 :(得分:0)

sudo /Applications/MAMP/bin/php/php7.4.12/bin/pear install HTTP_OAuth-0.3.2

使用上面的命令在 MAMP 中安装 Oauth 库

然后你应该在php.ini中添加“extension=oauth.so”

在php.ini文件中添加扩展后重启服务器