8

最新の Zend Community Server を実行していて、Symfony2 を学習したいのですが、config.php で APC (代替 php キャッシュ) が非推奨であり、アップグレードする必要があるというエラーが表示されます。

私は OS X Lion を実行していますが、すでに zend フォルダーが次の場所にあります。

    /usr/local/zend/

また、 http://pecl.php.netからソース パッケージ (3.1.9 安定版) をダウンロードしましたが、コンパイル方法や配置場所がわかりません。

4

6 に答える 6

4

わかりましたので、おそらく最善の解決策を見つけました-Zend ServerにはZend Optimizer +が組み込まれており、APCよりも約1.8倍高速です(320リクエスト/秒VS〜190リクエスト/秒または通常のウルトラブック)。

したがって、Symfony2 の設定で APC チェックをコメントアウトするだけで済みます - キャッシングは引き続き機能します。

Symfony2 で APC を無効にするには、次のようにします。

  1. Symfony2 要件ファイルを開きます。

/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+).'
            );
        }
*/

ソース: http://phpcloud-symfony2.pen.io/

于 2013-07-14T02:19:24.843 に答える
3

以前に投稿した(そして現在は削除されている)構成を数回テストし、ガイドを撤回する必要がありました。make testコマンドは一連のエラーを返しました。とりわけその理由は、Zendがいくつかの拡張機能(APCなど)に独自のバイトコードを持っていることです。

Zend Server CEをダンプして、結局MAMPに切り替えました。MAMPでSymfony2を正しくセットアップする方法についての私の作業ガイドを試してみてください:ここをクリックしてください

于 2011-10-10T00:03:21.400 に答える
3

ここで可能な解決策を見つけました

それが役立つことを願っています

于 2012-11-28T06:35:35.207 に答える
2

私も Mac ユーザーですが、Symfony と Zend Server で同じ問題に直面しました。最後にしたことは、Zend Server コントロール パネルから apc 拡張機能を無効にすることでした。そうすることで、symfony の設定に表示された警告が、apc または他のキャッシュ マネージャーをインストールするようにという通知に変わりました。その後、apc を再度有効にすると、すべて正常に動作しています。今は良い修正ではありませんが、おそらくローカルで開発しようとするとこの問題に直面し、サイトを実際のホスティングにアップロードするときにはおそらくこの問題は発生しません.

それが役立つことを願っています!

于 2011-10-09T22:11:46.257 に答える
2

私の知る限り、Zend Server は APC をサポートしていません。

これらは、APC 関数を Zend Data Cache オブジェクトにマップするラッパー関数を提供します。

于 2012-04-25T07:37:34.557 に答える