いまさらdotproject、続き

閲覧数: 24(0)

前回(これ)は古いオープンソースのプロジェクトマネジメントツール導入の話でした。当時PHPは5.3で、現在よりかなり古いバージョンでした。稼働させる現在の環境はPHP 5.6のため、多少の非互換があります。いわゆる言語仕様が改訂されているという状況です。影響度合いは様々で、非互換のエラーとなり動作しない場合もあります。dotprojectではファイルという機能が影響を受けました。ファイルはプロジェクトドキュメントをサーバー上にアップロードする機能です。

ファイルメニューをクリックすると、画面は表示しますが、下半分にエラーが表示されています。/var/log/httpd/error.logには、以下のエラーが出力されていました。

PHP Warning:  Illegal string offset 'where' in
 /var/www/html/dp/modules/projects/projects.class.php on line 304, referer:

該当する箇所を見てみると、こんな感じの記述でした。

$extra['where'] = ((($extra['where'] != '') ? ($extra['where'] . ' AND ') : '')
 . $buffer;

実現したかったことは、$extra変数がスペースでなかったら、ANDを追加する、というようなことだと思いましたので、以下のように変更してみました。

if(isset($extra['where']))	{
		$extra['where'] = (($extra['where'] .' AND ') . $buffer);
	} else {
		$extra['where'] = $buffer;
	}

とりあえず、エラーは出なくなり、ファイルメニューが使えるようになりました。

このように、ちまちまと修正箇所があって大変だなぁと思いますが、ありがたいことに本体のバージョンアップがされないため(そのうち言語上の非互換で動かなくなるリスクはあるが)、修正は一回限りでOKです。ところが、このブログで使っているwordpressやそのプラグインではそうはいきません。自分の都合に合わせて修正した箇所は、本体がバージョンアップされると毎回手直しが発生します。この話はまた別の機会に。

カテゴリーIT閑話, 公開タグ,
関連記事
アクセシビリティ対策
2019年6月23日

テーマカスタマイズの一環で、トップページに一覧表示されている「写真を左右交互に表示する」ようにした際  続きを読む

dockerとproxy
blank
2019年6月18日

dockerやdocker-composeをプロキシ環境下で使うのに苦労したので忘れないようにメモし  続きを読む

関連記事の大原則
blank
2019年6月16日

ググったりしてあるページにたどり着いた閲覧者に対して、それに関連する記事を提示して少しでもサイトの滞  続きを読む

dockerとiptables
blank
2019年6月13日

クラウドサーバーを利用する場合、ファイアウォール(Firewalld/iptables)の設定に失敗  続きを読む

コンテナとFirewall
blank
2019年6月12日

三日連続のdockerネタです。前回の「コンテナの自動起動」でサーバーを再起動した時にコンテナ(ph  続きを読む

コンテナの自動起動
blank
2019年6月11日

最新バージョンのPHP-FPMをdockerのコンテナとして動かしてみたところ、思ったより安定して動  続きを読む

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください