てぃーだブログ › iiiso の海。時々、セントレア。宵のうち、システム開発。 › 【PHP / CakePHP】 › CakePHPでエラー「Facebook needs the CURL PHP extension」にハマる

2014年12月13日

CakePHPでエラー「Facebook needs the CURL PHP extension」にハマる

試しに CakePHP を自宅の開発環境に入れてみた。


参考にしたのは、以下の書籍。


CakePHPでエラー「Facebook needs the CURL PHP extension」にハマる


※本書の内容は2012年6月末時点の情報である上、Linux(CentOS)環境での構築事例となっているので、Windows7(64bit)環境を構築する際には、幾分読み換えが必要。
今回、サーバミドルウェアは最新の安定版を本家から、またCakePHP は書籍のサポートページから、それぞれ入手し、入れてみた。



■構築結果
Apache 2.4.10 [ httpd-2.4.10-win64-VC11.zip / ダウンロード ]
PHP 5.5.19 [ php-5.5.19-Win32-VC11-x64.zip / ダウンロード ]
MySQL 5.6.21.1 [ mysql-installer-web-community-5.6.21.1.msi / ダウンロード ]
CakePHP 2.1.1 [ 書籍のサポートページからダウンロード ]


CakePHPでエラー「Facebook needs the CURL PHP extension」にハマる

※Apache のインストール時に、MSVCR110.dll がないと怒られた時は「Visual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージ/ダウンロード」をインストールするとエラーが解消します。



■今回のハマリどころ
CakePHP のRoute [ /app/Config/routes.php ] の初期設定をしたら、「Facebook needs the CURL PHP extension」という cURL のエラーが出た。


1. phpinfo.php に cURL が表示されなかったので、cURL が動いていないことがわかる。


2. 「libeay32.dll」「ssleay32.dll」「php_curl.dll」へのパスが通っている必要があるらしく、以下のサイトを参考に、まずはパスが通っているかを確認。
[ http://ameblo.jp/utkworks/entry-10386784772.html ]


3. php.iniで以下の行を探し、先頭のコメント(セミコロン)をはずしているかを確認。

[php.ini]
  ・
  ・
extension=php_curl.dll
  ・
  ・

4. ここで Apache を再起動してみたが、変化なし。


5. 「libssh2.dll」を [ /Apache24/bin ] 配下に置くとよいという情報が以下のサイトにあり、コピペしてApacheを再起動すると、phpinfo.phpにcURLが表示された。
[ https://php.net/manual/ja/curl.installation.php ]


CakePHPでエラー「Facebook needs the CURL PHP extension」にハマる

※PHP 5.5 の cURL が動かないときは、パス以外のところにも原因がありそう。




タグ :CakePHPPHPcURL


上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。