2010-11-10 77 views
0

好吧,在经历了一整天的各种各样的事情之后,比如Fink,Macports,Pecl等,我已经设法在OSX上安装了oauth.so模块。在MAMP OSX上安装Pecl Oauth模块10.6

但是,我在本地使用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了解它?

感谢

回答

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

config-set期望2或3参数? – 2012-07-22 05:44:52

4

我在Mac OSX 10.7.4版本运行MAMP版本1.9.6,并有同样的问题。

我检查了我的甲基苯丙胺的PHP错误日志在/Applications/MAMP/logs/php_error.log

,发现这个错误

 
[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"

    注:确保您输入正确的版本012的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条目。

+0

非常感谢!我希望我早点找到它:) – Guillermo 2013-05-28 07:56:13

0

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