2010-11-10 59 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