2015-05-26 87 views
1

我剛剛更新到osx mavericks mamp pro 3.2.1,並試圖讓memcached運行,但我沒有找到任何預編譯的memcached.so,它的工作原理。我得到Mamp pro 3.2.1 memcached安裝osx mavericks

PHP Warning: PHP Startup: Unable to load dynamic library '/Applications/MAMP/bin/php/php5.4.39/lib/php/extensions/no-debug-non-zts-20100525/memcached.so' - dlopen(/Applications/MAMP/bin/php/php5.4.39/lib/php/extensions/no-debug-non-zts-20100525/memcached.so, 9): no suitable image found. Did find: 
/Applications/MAMP/bin/php/php5.4.39/lib/php/extensions/no-debug-non-zts-20100525/memcached.so: unknown file type, first eight bytes: 0x0A 0x0A 0x0A 0x3C 0x21 0x44 0x4F 0x43 in Unknown on line 0 

我通過brew安裝了最新的memcached。我認爲從源頭建設將是最後的手段,但我沒有找到mamp pro和pecl的任何教程,迄今爲止工作 - 任何想法?

+0

你最終做了什麼? – area28

+0

看到我的答案在下面 - 爲我工作 – setcookie

回答

0

這是我做的:

安裝內存緩存或任何其他擴展mampp親和不同的PHP版本:

更新/升級PECL前:

$ sudo pecl upgrade 

1) 檢查哪個php版本在shell中啓用

$ which php 

/usr/bin/php不正確,它必須是mamp安裝的php版本。 /Applications/MAMP/bin/php/php5.3.29/ 改變PHP版本編輯bash的輪廓

$ sudo nano ~/.bash_profile 

和路徑更改爲PHP可執行

2) 作出的PHP版本肯定php源碼存在於包含文件夾 轉到目標php版本mamp目錄/Applications/MAMP/bin/php/php5.3.29/然後

$ mkdir include 
$ cd include 
$ mkdir php 
$ cd php 

如果包括/ PHP的文件夾中存在什麼也不做,因爲PHP源安裝 得到了PHP源代碼:http://php.net/get/php-5.4.42.tar.gz/from/a/mirror (請確保您下載的記者版本) 複製解壓到/內容包括/ PHP然後

$ chown -R setcookie:admin /Applications/MAMP/bin/php/php5.3.29/include 
$ chmod -R 0775 /Applications/MAMP/bin/php/php5.3.29/include 

轉到文件夾/包括/ php和執行:

$ ./configure --without-iconv 
$ sudo pecl install memcache 

安裝分機或任何其他分機 去擴展目錄:

$ cd /Applications/MAMP/bin/php/php5.3.29/lib/php/extensions/no-debug-non-zts-20090626 

,並確保延長存在並具有正確的所有者和權限

$ chown setcookie:admin /Applications/MAMP/bin/php/php5.3.29/lib/php/extensions/no-debug-non-zts-20090626/memcache.so 
$ sudo chown setcookie:admin 

/應用程序/ MAMP /斌/ PHP/php5.3.29/lib目錄/ PHP /分機/無調試非ZTS-20090626/memcache.so

3) 去甲基苯丙胺應用並修改php.ini文件模板添加行 extensio n = memcache.so