我正在运行最新的 Zend 社区服务器并想学习 Symfony2,但 config.php 给了我一个错误,我的 APC(替代 php 缓存)已被弃用,我必须升级它。
我正在运行 OS X Lion,并且已经在以下位置找到了 zend 文件夹:
/usr/local/zend/
我还从http://pecl.php.net下载了源包(3.1.9 stable),但不知道如何编译或放在哪里。
我正在运行最新的 Zend 社区服务器并想学习 Symfony2,但 config.php 给了我一个错误,我的 APC(替代 php 缓存)已被弃用,我必须升级它。
我正在运行 OS X Lion,并且已经在以下位置找到了 zend 文件夹:
/usr/local/zend/
我还从http://pecl.php.net下载了源包(3.1.9 stable),但不知道如何编译或放在哪里。
好的,所以我可能找到了最佳解决方案 - Zend Server 具有内置 Zend Optimizer+,它比 APC 快约 1.8 倍(320 req./s VS ~190 req./s 或普通超极本)。
所以你只需要在 Symfony2 配置中注释掉 APC 检查 - 缓存仍然可以工作。
要在 Symfony2 中禁用 APC,请执行以下操作:
/Symfony/app/SymfonyRequirements.php
并替换以下代码行:
if (version_compare($installedPhpVersion, '5.4.0', '>=')) {
$this->addRequirement(
version_compare(phpversion('apc'), '3.1.13', '>='),
'APC version must be at least 3.1.13 when using PHP 5.4',
'Upgrade your <strong>APC</strong> extension (3.1.13+).'
);
} else {
$this->addRequirement(
version_compare(phpversion('apc'), '3.0.17', '>='),
'APC version must be at least 3.0.17',
'Upgrade your <strong>APC</strong> extension (3.0.17+).'
);
}
和:
/* DISABLED FOR ZEND SERVER, USING ZEND OPTIMIZER+ INSTEAD
if (version_compare($installedPhpVersion, '5.4.0', '>=')) {
$this->addRequirement(
version_compare(phpversion('apc'), '3.1.13', '>='),
'APC version must be at least 3.1.13 when using PHP 5.4',
'Upgrade your <strong>APC</strong> extension (3.1.13+).'
);
} else {
$this->addRequirement(
version_compare(phpversion('apc'), '3.0.17', '>='),
'APC version must be at least 3.0.17',
'Upgrade your <strong>APC</strong> extension (3.0.17+).'
);
}
*/
Source: http://phpcloud-symfony2.pen.io/
我测试了我之前发布(现在已删除)的配置几次,不得不撤回指南。该make test
命令返回了一堆错误。原因之一是 Zend 在某些扩展(如 APC!)中有自己的字节码。
毕竟我放弃了 Zend Server CE 并切换到了 MAMP。给我关于如何在 MAMP 上正确设置 Symfony 2 的工作指南:点击这里。
希望有帮助
我也是 Mac 用户,我在 Symfony 和 Zend Server 上遇到了同样的问题。我最后做的是从我的 Zend Server 控制面板禁用 apc 扩展。这样做,出现在 symfony 配置中的警告变成了一条通知,告诉我安装 apc 或其他一些缓存管理器。之后,我再次启用了 apc,一切正常。我现在这不是一个很好的解决方法,但是您在尝试本地开发时可能会遇到这个问题,而当您将网站上传到真实主机时,您可能不会遇到这个问题。
我希望它有帮助!
据我所知,Zend Server 不支持 APC。
它们提供将 APC 函数映射到 Zend 数据缓存对象的包装函数。
这对我有用:
在 Zend Server CE 中启用备用 PHP 缓存 (APC) 扩展
Download non-thread safe VC9 APC DLL (I went for php_apc-5.3-nts-svn20100226-vc9-x86.zip) from http://downloads.php.net/pierre/
Unzip it and put the extension dll php_apc.dll into C:\Program Files\Zend\ZendServer\lib\phpext (assuming you left the Zend Server install location as its default)
Add the following to your php.ini (in C:\Program Files\Zend\ZendServer\etc):
;Enable APC
extension=php_apc.dll
;Enable upload progress bar
apc.rfc1867=on
Give Apache/PHP a restart
现在查看 Zend 仪表板上的 phpinfo(),您应该会看到类似以下内容,其中 apc 和各种指令在输出的配置部分中输出。任何 APC 文件上传进度条插件(例如http://www.ibm.com/developerworks/library/os-php-v525/index.html)现在应该可以工作了。