SYMFONY3.0プロジェクトでPHP5.5を7.1にアップグレードしたい。
正しい結果を得るために「php.ini」ファイルをチェックしています。
最後にもう1つ未解決です。PHP5.5では、拡張アクセラレータphp_apcu.dllを使用しました。これはPHP7では維持されません。
私は代替手段を探していて、 ここ を読んだところ、PHP7には既に埋め込まれているため、アクセラレータは不要になりました。
CLIを実行すると:「phpbin/symfony_requirements」、次のメッセージが表示されます。
A PHPアクセラレータをインストールする必要があります> PHP>アクセラレータをインストールおよび/または有効にする(強くお勧めします)
私が理解しているように、新しい拡張機能を追加する必要はありませんが、PHP7のアクセラレータをenableすることができます。
PHP7で「アクセラレータ」パラメータを「true」に設定する必要があるかどうか、またはデフォルトで実行されるか(Symfonyエラーメッセージは無視する必要があります)、または新しい拡張機能( wikiページで説明されている非推奨のAPCとは異なります )インストールする必要がありますか?
更新:「php.ini」に追加した質問に対して受け取ったコメントに続いて、次の設定を行います。
_opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=2000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
_
Apacheサービスを再起動しましたそしてCLIを実行すると: "php bin/symfony_requirements"、それでも次のメッセージが表示されます:
A PHPアクセラレータをインストールする必要があります> PHP>アクセラレータをインストールおよび/または有効にする(強くお勧めします)
@ LBAに必要な情報に関する更新:SymfonyプロジェクトのフォルダーでCLIの「composerupdate」を実行しました。
次に、CLIを実行すると: "php bin/symfony_requirements"、次のようになります。
PHPの注意:759行目のD:\ Application\Apache24\htdocs\symf\my_symf_project\var\SymfonyRequirements.phpで検出された整形式でない数値
注意:759行目のD:\ Application\Apache24\htdocs\symf\my_symf_project\var\SymfonyRequirements.phpで検出された整形式でない数値
Symfony2要件チェッカー~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PHPは次のphp.iniファイルを使用しています:D:\ Application\php7\php.ini
Symfonyの要件の確認:................ W ............... W.....。
[OK]システムでSymfony2プロジェクトを実行する準備ができました
セットアップを改善するためのオプションの推奨事項~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
要件ファイルは最新である必要があります
要件ファイルが古くなっています。 composerインストールを実行し、構成を再確認します。
a PHPアクセラレータをインストールする必要があります
PHPアクセラレータ(強く推奨))をインストールおよび/または有効にします。
注コマンドコンソールは、Webサーバーで使用されているものとは異なるphp.iniファイル~~~~を使用する可能性があります。安全のために、web /config.phpスクリプトを使用してWebサーバーから要件を確認してください。
環境の設定について(Windows10の場合):
PHP 7.1.1(cli)(ビルド:2017年1月18日18:38:49)(ZTS MSVC14(Visual C++ 2015)x64)Copyright(c)1997-2017 PHP Group Zend Engine v3.1.0、Copyright(c)1998-2017 Zend Technologies
Symfonyプロジェクトのcomposerファイルは次のようになります:
_ "require": {
"php": ">=5.5.9",
...}
_
そして、値を「php」: "> = 7.1.0に変更して、「composer update」を起動しようとすると、次のようになります。
読み込みcomposerパッケージ情報を含むリポジトリ)依存関係の更新(require-devを含む)要件をインストール可能なパッケージのセットに解決できませんでした。
問題1-このパッケージにはphp> = 7.1.0が必要ですが、PHPバージョン(5.5.9)はその要件を満たしていません。
ですから、Symfonyの環境変数に何か問題があります。
Symfonyではなく通常のPHPサーバーページ)でphpinfo()
を実行すると、一番上に次のように表示されます:PHPバージョン7.1.1
これが解決策です。私がしなければならなかった2つのことです。
1st:確かにopcacheが必要です。
php.iniでは、 symfonyドキュメント および phpマニュアル)で行うように指示されている設定よりも 。 php.iniで使用する拡張子を追加するのを忘れていました:
zend_extension = "[php7へのパス]\php7\ext\php_opcache.dll"
(まあそれは ここにphpマニュアルドキュメント にあります)
2nd:symfony側では、SymfonyがPHP7を使用するように、[プロジェクトパス]\composer.jsonで次の設定を更新する必要がありました。
{
"require": {
"php": ">=7.1.1",
....
},
....
"config": {
"platform": {
"php": "7.1.1"
}
},
}