作成日:2017-11-30, 更新日:2020-11-26
syntax error, unexpected '['
PHPのバージョンが古いのが原因。
ErrorException [ Parsing Error ]: syntax error, unexpected '[' APPPATH/vendor/〇〇〇/google-api-php-client/vendor/guzzlehttp/psr7/src/functions.php @ line 78
「[]」となっている箇所を「array()」にすれば良さげだけど・・・PHPのバージョンをアップするのが良い。
Composerのエラー
Composer is not installed. Please run "php composer.phar update" in the root to install Composer
参照:fuelphp1.7インスト時のcomposerのアップデート
新しいFuelPHPと古いPHPの組み合わせでエラー
Fuel\Core\PhpErrorException [ Warning ]: openssl_encrypt() [<a href=’function.openssl-encrypt’>function.openssl-encrypt</a>]: Using an empty Initialization Vector (iv) is potentially insecure and not recommended /〇〇〇/fuel/vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php @ line 967
セッションエラー
セッションをファイルにしているときに保存するフォルダが見つからないと出てくるエラー。
Fuel\Core\FuelException [ Error ]: You have specify a valid path to store the session data files. COREPATH/classes/session/file.php @ line 336
「セッション・データ・ファイルを格納する有効なパスを指定しました。」というエラー文になるそうだ。
対処は「app/config/session.php」の修正(or 対象のフォルダを作成 or 権限の設定)
'file' => array( 'cookie_name' => 'fuelfid', // 'path' => '/tmp', // 下記のように修正 'path' => APPPATH.'/tmp',
en_USのWarning
エラーログを見たらWarningが出ていた。
WARNING - 2018-03-02 10:54:27 --> Fuel\Core\Fuel::init - The configured locale en_US is not installed on your system.
対処は「app/config/config.php」の修正
/** * Localization & internationalization settings */ // 'language' => 'en', // Default language // 'language_fallback' => 'en', // Fallback language when file isn't available for default language // 'locale' => 'en_US', // PHP set_locale() setting, null to not set 'language' => 'ja', 'locale' => 'ja_JP.UTF-8',
ja_JP.UTF-8のWarning
エラーログを見たらWarningが出ていた。
WARNING - 2018-03-02 11:01:36 --> Fuel\Core\Fuel::init - The configured locale ja_JP.UTF-8 is not installed on your system.
FuelPHPが問題じゃなくて、使っているサーバ(Xampp)に「ja_JP」が無いのが問題。
※unix系のサーバだったらWarningは出ない・・・はず。
Win10 / Xampp
・「ja_JP」は「_(アンダースコア)」ではなく「-(ハイフン)」の「ja-JP」が正解っぽい。
※「C:\Windows\System32\driver」の下に「ja-JP」がいる。
例外処理(try-catch())でエラー
Uncaught exception Exception: 0
「\」マークをつければいい。
▼throwのトコ
throw new \Exception(〇〇〇);
▼catch()のトコ
catch (\Exception $e) {