CALENDAR
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
<<前月 2019/05 次月>>
COMMENTS
TRACBACK
PROFILE
LOGIN
現在のモード: ゲストモード
USER ID:
PASS:
POWERED BY
POWERED BY
ぶろぐん
-->
OTHERS

HOME > パソコン・家電 > BlognPlusをPHP7対応に
BlognPlusをPHP7対応に
不具合ではないのですが、サーバOSをFedora25にアップグレードしたことにより、PHPが7になってしまい、mysql_の関数が使えなくなってしまいました。
このため、BlognPlusが動作しなくなりました。
概ね対応をしましたので、概略を説明します。

blognplusのフォルダ内の全て(databaseやmoduleも)の*.phpについて、

(1) "mysql_"を"mysqli_"に全置換
(2) mysqli_query関数のパラメータ2個の順序を全て入れ替える

また、admin.phpのblogn_blog_new関数につきまして、同じパラメータが、意図は不明ですが2つ存在するためエラーになります。12番目のパラメータ$user_keyを、関数本体の宣言と呼び出し元それぞれから削除します。

利用しているモジュールの中で、「コメントスパム対策」(asm4cmt)で本文が書き込まれない不具合が発生しましたので確認しましたところ、asm4cmt_autolink関数で、ereg_replace()がエラーとなっていました。やはりPHP7で廃止になっていました。代替としてpreg_replace()があるのですが、そのままでは動作しませんでした。試行錯誤の末、以下のように解決しました。

// $str = ereg_replace('(https?)(://[[:alnum:]\S\$\+\?\.-=_%,:@!#~*/&^-]+)','\\1\\2', $str);
$str = preg_replace('/((?:https?|ftp):\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/u','\1', $str);


他にも細かなエラー(変数未定義など)がありましたが、ssl_error_logを見ながら潰していきました。
このサイトはhttps強制になっているためssl_error_logですが、httpの方はerror_logを参照してください。
| 凪パパ | 10:42 | comments (4) | trackback (0) | パソコン・家電 |
コメント
初めまして。
長い間放置していたblognplusを再開しようとしたところ
表示はされているものの、新規投稿や記事編集、画像のアップロードなどが
出来ずに困ってました。
貴サイトの記事がとても参考になりました。
どうもありがとうございました。
| dimag | EMAIL | URL | 18/01/13 07:02 | MtyrO012 |

コメントありがとうございます。
参考になったとのことで、当方もとても嬉しいです。
本家は閉鎖されてしまいましたが、可能な限りBlognplusを使い続けるつもりですので、よろしくお願いします。
| 凪パパ★ | EMAIL | URL | 18/01/14 23:24 | M96AtPyo |

すみません、eregiとか全部書き換えたんですか?
blognplusの中、結構使えない関数が大量にあって、もう直すの一苦労で…
| 困ったさん | EMAIL | URL | 19/03/01 00:14 | 2W3RwCP. |

既に記憶が曖昧ですが、この記事にある通りの作業を地道に行いました。1,2時間くらいかけた覚えがあります。
viで全置換し、検索しながら手作業でパラメータを入れ替えていきました。
| 凪パパ★ | EMAIL | URL | 19/03/01 21:52 | M96AtPyo |


コメントする








この記事のトラックバックURL
https://www.minagi.tv/blognplus/tb.php/802
トラックバック
このページの先頭へ