0
我有我的本機Apache/PHP安裝程序可以正常使用PHP 5.3.15和memcache。那裏一切都很好。但我希望能夠在本地運行PHP 5.2實例。所以我決定最簡單的方法是使用MAMP。PHP API版本不匹配爲MAMP在Mac上編譯Memcache
安裝MAMP很容易,並且在幾秒鐘內就可以啓動服務器。我遇到的唯一問題是編譯和安裝5.2.17(MAMP附帶的版本)的memcache擴展。
下面是我得到它的安裝步驟:
- 下載PHP 5.2.17源文件,並把他們安置在我 MAMP /斌/ PHP/php5.2.17 /包括/ PHP的文件夾中。
- 下載了memcache-2.2.7並將內容提取到/ tmp。
$ /Applications/MAMP/bin/php/php5.2.17/bin/phpize
設置env爲5.2.17。$ MACOSX_DEPLOYMENT_TARGET=10.8 CFLAGS='-O3 -fno-common -arch i386 -arch x86_64' LDFLAGS='-O3 -arch i386 -arch x86_64' CXXFLAGS='-O3 -fno-common -arch i386 -arch x86_64' ./configure --with-php-config=/Applications/MAMP/bin/php/php5.2.17/bin/php-config
$ make
$ cp /tmp/memcache-2.2.7/memcache-2.2.7/modules/memcache.so /Applications/MAMP/bin/php/php5.2.17/lib/php/extensions/no-debug-non-zts-20060613
- 新增
extension=memcache.so
到我的php.ini。 - 重新啓動服務器。
這是從運行phpize的輸出:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
configure.in:3: warning: prefer named diversions
configure.in:3: warning: prefer named diversions
我得到這個錯誤在php日誌:
04-Jul-2013 00:32:03] PHP Warning: PHP Startup: memcache: Unable to initialize module
Module compiled with module API=20090626, debug=0, thread-safety=0
PHP compiled with module API=20060613, debug=0, thread-safety=0
These options need to match in Unknown on line 0
從我本來以爲延建運行phpize命令使用正確的API版本。但API日誌告訴我,否則。注意到20090626是我的原生PHP的API版本也是有益的。所以我認爲它仍然與我的本地版本編譯(但不知道)。
任何人都知道它爲什麼不用正確的API版本編譯?