使用stock apache和php5在Mac OSX上启用memcache

时间:2009-05-15 05:32:09

标签: macos memcached

我不能为我的生活弄清楚如何在Mac OSX上启用memcache来使用apache。我已经安装了memcache并且可以通过php命令行验证它是否正常工作。

以下命令:

php --ri memcache

报告支持memcache。

但是,如果我在浏览器中加载了执行phpinfo()的本地测试脚本,则它不会报告已安装memcahe。在我的浏览器中运行一个实例化新的memcache对象的脚本报告:

Fatal error: Class ‘Memcache’ not found

我编辑了php.ini并添加了extensions = memcache.so

我已经通过转到系统偏好设置 - >分享和禁用并启用网络共享重新启动了Apache。我甚至尝试从命令行w / sudo apachectl restart重新启动apache。

我可以忽略的是阻止php在通过浏览器执行时识别内存缓存?

谢谢!

3 个答案:

答案 0 :(得分:1)

你可能会在*/no-debug-non-zts-*目录中安装memcache.so扩展,这有时很痛苦(在Linux上也一样),php.ini可能不在这个目录中。您可以更改php.ini中的扩展目录(这可能会破坏其他内容),或者更好地创建*/no-debug-non-zts-*目录中memcache.so文件的符号链接。

就我而言,这是:

ln -s /usr/local/lib/php/extensions/no-debug-non-zts-20060613/memcache.so /usr/lib64/php/modules/memcache.so

进一步检查memcache.so文件的权限并确保它是可执行的(755),在我的例子中,这是:

chmod 755 /usr/local/lib/php/extensions/no-debug-non-zts-20060613/memcache.so

希望有帮助,这是我的最后一个建议:)

答案 1 :(得分:0)

当然看起来命令行php和mod_php正在使用不同版本的php.ini。

答案 2 :(得分:-1)

你在使用memcache是​​为了什么?你是如何发起的?你有没有在机器上运行memcached?

这不是一个特别的mac答案,但希望它会让你沿着跑道前进,如果这涉及到明显的道路,我会道歉。

你需要在Mac上或mac可以在memcached端口上访问的另一台机器上运行memcached。

Mac上的memcached有一个特定的文档 - http://memcached.darwinports.com/

请记住,您还需要配置php以将memcache用于任何您想要缓存的内存缓存,例如:更改相关的PHP设置,例如使用memcache来处理会话:

session.save_handler = files
改为:
session.save_handler = memcache

的session.save_path = “TCP://:11211持久= 1&安培;重量= 1&安培;超时= 1&安培; retry_interval的= 2”

希望这在某种程度上有所帮助。

http://www.of-networks.co.uk