2015-05-26 60 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