いまさら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閑話, 公開タグ,
新年早々の非互換対応
2021年1月1日

昨年から先送りしていた「mediawiki」のマイナーバージョンアップ(2020/12/18リリース  続きを読む

検索精度を高める
blank
2020年11月1日

検索ネタを連発するのはElasticsearchやElasticPressがバージョンアップした時の  続きを読む

ElasticPress日本語設定2020年版
blank
2020年10月29日

ElasticsearchをWordpressで利用するためのプラグインであるElasticPres  続きを読む

ElasticPress 3.5
blank
2020年10月22日

Elasticsearch用のプラグインであるElasticPressがメジャーバージョンアップ(3  続きを読む

アクセシビリティ対策
blank
2019年6月23日

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

dockerとproxy
blank
2019年6月18日

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

コメントを残す

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