php_modが非推奨になったのね

昔のバージョンのphp環境でphpバージョンを上げるという対応中。 apache + PHP8のインスタンスを構築してドキュメントルートまで到達を確認。 対応する人にドキュメントルートまで到達するからプロジェクトのファイルを置いてバージョンアップのエラーを確認してもらうため依頼しましたが HTTP 503 Service Unavailable のエラーが出ているとのこと。 HTMLファイルはアクセスできているからPHPの実行ができていないと思い調べると Apache HTTP サーバーで使用するために PHP に提供されている mod_php モジュールが非推奨になりました。 php-fpmをインストールして起動し、リクエストを流してphp-fmpでphpを実行するようにして解決。 しばらくPHPを触っていなかったのでモジュールが非推奨になったことに気づかずでした。

PHP7.2の環境で、既存プロジェクトの横展開で新しいサービスを対応したときに躓いたのでメモ①

cakePHP3.4とPHP7.2でAPIを作ったら躓いたのでメモ


今回、新規プロジェクトを担当していざ納品前の確認で社内公開せねばというステータスになったら、ローカル環境から開発のサーバーに設置してみて動かないという事態に。。

今回のローカル環境要件

dockerで以下を構築
apache2.4(php7.1 cakePHP3.4)
node.js
mysql5.7


なぜこの環境かというと、納品までの時間があまりにもなく既存のプロジェクトを焼き回しで使える部分は使って工数を削減しないとならないということで既存の環境要件に合わせてこちらで開発をスタート

なので既存と同じ環境で作り始めました
うちは開発サーバーからステージングサーバー、本番サーバーはサーバー管理チームに依頼して作ってもらいます

なので、〇〇プロジェクトと同じ構成で!って依頼して作ってもらっていました

さて、慌ただしい開発で納品前の社内確認をということで開発サーバーにソースコードを移して動作確認しよっと!

と思ってソースコードを配置してアクセス!
ん?なんかアクセスできないし!!
とりあえずエラーログを見る

でとる〜
エラーでとる〜

するとこんなエラーが

PHP Fatal error: Cannot use Crud\\Core\\Object as Object because 'Object' is a special class name in /var/www/html/vendor/friendsofcake/crud/src/Listener/BaseListener.php on line 4, referer: http://domain
どうやらPHP7.2でcrudのバージョンを5以上にしないとダメよってことらしい。。。

ちなみになんでエラーなのかの参考にしたのはこちらで
https://github.com/FriendsOfCake/crud/issues/565

ん?PHP7.2ってなん??
〇〇プロジェクトと同じ環境って言ったやん!!
どうやら開発サーバーはリポジトリの標準パッケージのPHP7.2をインストールしたらしい。。

うちのサバ管そういうとこあります。。
こちらの意図を伝えてるのにそうならない。。

まぁねPHP7.1は2019/12/01にセキュリティーサポートも切れるということでまぁしょうがないなということで、取り急ぎは私の判断でPHP7.1にダウングレードして明日の納品前の社内判定は乗り切ろうかなって思い以下を実施

※crudを5にすればいいじゃん?とお思いになる方もいらっしゃるでしょうがこれが5にあげただけではすんなり動いてくれなかったので取り急ぎダウングレードに至りました。。

yum list installed | grep phpこちらでインストール状況を調べて一旦削除

ここで出たリストのやつをアンインストール
それがこちら
yum remove php php-cli php-common php-devel php-fedora-autoloader php-gd php-intl php-json php-mbstring php-mysqlnd php-pdo php-pear php-process php-xml

PHP7.1をインストール
yum install --enablerepo=remi-php71 php php-cli php-common php-devel php-fedora-autoloader php-gd php-intl php-json php-mbstring php-mysqlnd php-pdo php-pear php-process php-xml
※ちなみにremiリポジトリがある前提です

php7.1に切り替える実行コマンドがこちらに書いてあります
/opt/remi/php71/enable

export PATH=/opt/remi/php71/root/usr/bin:/opt/remi/php71/root/usr/sbin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/opt/remi/php71/root/usr/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MANPATH=/opt/remi/php71/root/usr/share/man:${MANPATH}


こちらにも記述して完了
vim ~/.bash_profile
取り急ぎは動かしたのでPHP7.2で今度は対応します。そのの対応はまた後日!

コメント

このブログの人気の投稿

nginxで画像が表示されない。。

AWSのS3バケットをマウントするs3fsでマウントが外れた件

CakePHP3でHTTPSにする