CentOS 6.7でPHP 5.3.3に加えてPHPをアップグレードするために使用できる「公式」リポジトリはありますか?
SCLリポジトリを活用しようとしていますが、さまざまな機能がこのデュアルPHPのインストール方法を指しているようです。
SCLリポジトリを使用している場合は、複数のバージョンのPHPがインストールされています。デフォルトパッケージ(この場合はPHP 5.3.3)は、/usr/bin/phpなど、すべての一般的なRH位置にあります。 5.4を選択したSCLバージョンはphp54-phpとしてインストールされ、/opt/rh/php54/にあります。その後、/etc/http/config.d/の有効なPHP設定で実行することをApacheに伝えます。ただし、php-cliの実行時にはシェルのsourceコマンドやcronやsudoジョブのscl起動コマンドなどを使ってphp54バージョンを宣言する必要があります。そうしないと、デフォルトでは5.3.3がインストールされます。
特別なことは、cronジョブが正しく開始されるようにすることです。 WP-CLIを使用すると、cURL / wget / PHP呼び出しが無効なユーザー名/パスワードエラーを返すため、操作を実行しているように見えますが、スマートグループの再構築などを実行していないようです。設定ページでcronジョブを手動で実行しても問題ありません。
ベストアンサー1
注:私はCentOSまたはRHELディストリビューションを直接使用しませんが、(遠い)過去に使用しました。
~によるとhttps://www.softwarecollections.org/en/scls/rhscl/rh-php56/scl enable
、対応するコマンドが必要なようです。
/opt/rh/php54
PHP5.4とPHP5.3をインストールするときは、/usr/bin/php
最新のPHPを選択するようにシステム環境を設定する必要があります。これは環境変数(例えば$PATH
。
CiviCRMにはWebサーバーユーザーとして実行する必要があるタスクがスケジュールされているため、タスクが実行されているアカウントに対してこれらの変更が行われたことを確認する必要があります。これがCiviCRMホスティング専用コンピュータであれば、すべてのユーザーが好むPHPを更新するのが合理的なアプローチであるようです。他のユーザーが変更によって悪影響を受ける可能性がある場合は、変更をより具体的に指定できます。
実行すると、scl enable php54
コマンドを追加できるように/etc/bashrc
(システム全体)または~/.bashrc
(ユーザーごと)の操作が行われます。
/etc/profile
/etc/profile.d
または、またはでシステムパスを設定することもできます~/.bash_profile
。 CentOSに存在する場合は、エントリを追加してシステムパスを確認できます/etc/paths.d
。 (走るscl enable php54
かどうかはわかりませんが、ただあなたのものを変えてください$PATH
- それ以外の場合、これは完全な解決策ではないかもしれません。 )
以前のPHPへのフルパスを指定することから始まるコマンドラインPHPスクリプトがある場合は、このスクリプトを優先#!/usr/bin/php
PHPインストールパスを使用するように変更する必要があります。#!/usr/bin/env php
CiviCRMのコードベースに示すように。 PHP5.3へのフルパスを指定するcronエントリがある場合も同様です。