我刚刚更新到osx mavericks mamp pro 3.2.1并试图让memcached运行但我找不到任何预编译的memcached.so。我得到
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 :(得分:0)
这就是我做到的:
为mampp pro和不同的php版本安装memcache或任何其他扩展名:
更新/升级pecl之前:
$ sudo pecl upgrade
1) 检查shell中启用了哪个php版本
$ which php
/ usr / bin / php不正确它必须是mamp install的php版本,例如 /Applications/MAMP/bin/php/php5.3.29/ 更改php版本编辑bash配置文件
$ sudo nano ~/.bash_profile
并将路径更改为php可执行文件
2) 确保php文件的php源存在于include文件夹中 转到目标php版本mamp目录,例如/Applications/MAMP/bin/php/php5.3.29/然后
$ mkdir include
$ cd include
$ mkdir php
$ cd php
如果include / php文件夹存在,则自安装php源以后不执行任何操作 从http://php.net/get/php-5.4.42.tar.gz/from/a/mirror获取php源代码 (确保下载通讯版) 将解压缩的内容复制到/ include / php然后
$ chown -R setcookie:admin /Applications/MAMP/bin/php/php5.3.29/include
$ chmod -R 0775 /Applications/MAMP/bin/php/php5.3.29/include
转到文件夹/ 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
/Applications/MAMP/bin/php/php5.3.29/lib/php/extensions/no-debug-non-zts-20090626/memcache.so
3) 去mamp app并编辑php.ini模板来添加这一行 延长= memcache.so