半地下備忘録

たつさんの日記的ななにか。

TwitterOAuth.php on line 334 のsyntax errorの原因と修正

PHPTwitterのアプリとかbotを作ろうとしたときに必ずと言っていいほど紹介されているライブラリ。


これをダウンロードしてきて使え!みたいなのに従って作っていたはずなのに、自分が触っていないライブラリのTwitterOAuth.phpからこんなエラーがでた。

Parse error: syntax error, unexpected '[' in /home/hoge/fuga/twitteroauth/src/TwitterOAuth.php on line 334


['GET', 'PUT', 'DELETE'] をarray('GET', 'PUT', 'DELETE')に置き換えるといいというのを見つけて、やってみたところ無事に動作。すごい。こうやって世界にコピペプログラムが量産されていくんですね!!*1


【修正前】
if (in_array($method, ['GET', 'PUT', 'DELETE']) && !empty($postfields)) {

【修正後】
if (in_array($method, array('GET', 'PUT', 'DELETE')) && !empty($postfields)) {


エラーの出た原因はPHPのバージョンの問題らしく、ぼくが使ってたPHP5.3の環境では使えない書き方だったからエラーが出てたみたい。

追記

PHP5.3はサポートが切れているらしく、バージョンアップしたほうが良いそうです。
ぼくの使っていたレンタルサーバPHPのバージョンを選択できたので、PHP5.5に変更しました。

*1:ぼくのは完全に個人のお遊びです