いまさらdotproject、続き

閲覧数: 25(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やそのプラグインではそうはいきません。自分の都合に合わせて修正した箇所は、本体がバージョンアップされると毎回手直しが発生します。この話はまた別の機会に。

【最終更新日: 2017年11月29日】
カテゴリー公開, 閑話(IT)タグ,
HHVMとPHP

去年の夏「RedHat系LinuxからDebian系Linuxへ移行」した時、言語処理系もPHPから  続きを読む

最近の更新
blank

3月の初投稿は、ネタが無いのでIT閑話でw mediawikiのバージョン制限で、しばらくElast  続きを読む

関連記事の大原則
blank

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

おすすめ記事
blank

テーマのカスタマイズで「Featured Content」というオプションがあります。日本語では「お  続きを読む

SudachiとElasticsearc...
blank

検索に関する初稿は2015年10月の「検索に悩む」でした。当時はWordPress標準の検索機能(S  続きを読む

カテゴリー制限をかける
blank

一般公開とログイン後公開と非公開、この3パターンをカテゴリー制限で実現するプラグインとして、「Hom  続きを読む

スポンサーリンク

コメントを残す

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