single.php

TwitterOAuthライブラリで例外”Undefined constant”が表示される場合の対処法

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” が表示されて困っている人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です