某OpenPNE。
VMでは散々検証したので、実機である自分鯖で動かしてみる。
ほら。アレだろ。
- ファイルコピー
- DBエクスポート→インポート
- VirtualHostへの追記
- 環境に合わせて設定ファイル更新
こんな感じで。楽勝でしょ。
なんて軽く考えていたら
甘かった・・・。MAXコーヒーぐらい
お約束通り、動かない・・・_(´ཀ`」 ∠)_
VMと実機の大きな差はアプリのバージョン
PHP:(VM)5.3.6、(鯖)7.1.17
MySQL:(VM)5.1、(鯖)5.7.22
PHPの方がヤバそうだな・・・。
PHPのエラーログを見るとDeprecated(非推奨)が出まくっている。
ですよねー・・・
でもDeprecatedだけだったら動くんじゃないの?
エラーになっていた=&
→=
は直接直したけどw
何故動かん。
エラーが出ていないので八方塞がりだ。
そうだ。
VMで3.6系にアップグレードして、そのファイルとDBを実鯖に突っ込んだら動くんじゃないか?
というわけで手慣れた作業になってしまった2.14系から3.6系へのアップグレードをした上で
資材を配置して、DBを入れ直して、設定ファイルを書き換えて、エラーになる。
エラーログはコレ。
PDO Connection Error: SQLSTATE[HY000] [2002] No such file or directory
調べてみるとソケットのファイルが上手く取りに行けてなくてエラーになるので
php.ini の以下の項目にソケットのパスを記入すれば正常に動くらしい。
※環境によってmysql.sockの場所が異なるため注意
これって記述しなくてもシステムから引っ張ってきて良きようにやってくれるという認識だったんだけど。
あー。そうだよね。動かないよね('A`)
エラーは変わらず。
そもそもPDO経由でちゃんと動くのか?ということが気になったので、
PDOを使ってDBに接続してテーブル一覧を表示させるというのを適当にPHPで作ってみた。
サクッと動きやがった駄プログラムw
つまりはOpenPNE側の問題って事か。
なんかこの問題だけで3日程無駄にしてるんだけどw
そしてググっていて発見した1つの事実。
OpenPNE3系 PHP7に対応してないじゃねーか!_(´ཀ`」 ∠)_
開発版の3.9でも未対応。
2017年にチケットが切られていたけど、優先度=通常でいまだに解決せず。
というか何もしてないんじゃないか?
どうするよコレ・・・。