Twitter APIを利用する際に便利なTwitterOAuthライブラリを利用する際に、例外 ‘Undefind constant “Abraham\TwitterOAuth\CURLOPT_CONNECTIONTIMEOUT”‘ などが表示されて困ったので、備忘録的に投稿します。
Undefind constant 例外
Twitter APIを利用する際に便利なTwitterOAuthライブラリをデバッグする際に[例外が発生しました Error: Undefind constant “Undefind constant “Abraham\TwitterOAuth\CURLOPT_CONNECTIONTIMEOUT” ]が表示される場合があります。
この例外は、たいていPHPのcURL設定が無効になっているかcURLの設定が間違っている場合が多いです。
phpinfo()でPHPの環境設定を表示して[curl]内の[cURL Support]が “enabled” になっているか確認します。([curl]が表示されない場合や、 “disabled” の場合にはcURLのインストールが必要)
CURLのインストールでは改善しない
指示に従って、cURLをインストールするだけでは改善しませんでした。実際には次の手順でPHPの設定を変更する必要があります。
具体的には、次の手順で行います。
1. PHPのインストール(”php.exe”がコピーされている)フォルダーの[ext]サブフォルダーに[php_curl.dll]が保存されているか確認します。
2. フォルダー内の[php.ini]を編集して、次の2行を追加します。
extension=php_curl.dll
extension_dir = "C:\php\ext"
extension_dir には、PHPのインストールフォルダーで “php_curl.dll” ファイルがコピーされているフォルダーのパスを記載します。
4.[環境変数]画面で[Path]を選択して[編集]をクリックします。
5. 表示された[環境変数名の編集]画面で PHPのインストールフォルダー (例 C:\php)と extension_dir で指定したフォルダー(例 C:\php\ext)を追加します。
6. 再度 phpinfo() で PHPの環境設定を表示して[curl]内の[cURL support]が “enabled” になっているか確認します。
デバッグ操作を行い、 例外 ”Error: Undefind constant” が改善されているか確認を行います。
まとめ
VSCode で PHPをデバッグする際に、例外 ”Error: Undefind constant” が表示される場合は、PHPのcURL support 設定が無効になっています。
指示に従って、要なファイルをダウンロードしてコピーして、php.iniの編集を行い 環境設定で cURL support を有効にしておく必要があります。
PHPのデバッグする際に 例外 ”Error: Undefind constant” が表示されて困っている人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。