OS X 10.9 Mavericksをインストールした後、OS XでのPHP開発環境の設定に問題があります。
これが、インストールに使用しているコマンドです。
Sudo pecl install xdebug
downloading xdebug-2.2.3.tgz ...
Starting to download xdebug-2.2.3.tgz (250,543 bytes)
.....................................................done: 250,543 bytes
66 source files, building
running: phpize
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
ERROR: `phpize' failed
誰にも解決策や回避策がありますか?
高速コピーアンドペースト方法
Sudo sh -c 'echo zend_extension=$(find /usr/lib/php/extensions -name "xdebug.so") >> $(php -qr "echo php_ini_loaded_file();") && apachectl restart'
このコマンドは次を実行します。
Sierra、El Capitan、およびYosemiteとは、バンドルされたApacheで互換性がありますが、MAMPおよびXAMPPではテストされていません。
コマンドを起動する前に、Xcodeコマンドラインツールがインストールされていることを確認してください:xcode-select --install
pecl
の使用について知らない。 OS Xのインストール後にXdebugを取得するのは、pecl
がなくても簡単です。次の2つの簡単なオプションがあります。
すでに利用可能なバージョンを使用します。
/usr/lib/php/extensions/no-debug-non-zts-2010052/xdebug.so
あなた自身のものをつくる:
Xcode CLIツールがあることを確認します。xcode-select --install
は、CLIツールのインストールを要求します。 CLIツールをインストールすると、/usr/include/php
の中に何かがあるはずです。
http://xdebug.org/download.php に移動し、必要なXdebugのバージョンのソースtarballをダウンロードします。例: http://xdebug.org/files/xdebug-2.2.3.tgz 。
Tarballとcd
を作成したディレクトリに抽出します。そのディレクトリ内にREADME
が表示されます。ここからです:
$ phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
$ ./configure --enable-xdebug
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
[... output ...]
$ make
[... output ...]
ビルドされたxdebug.so
はmodules/xdebug.so
になりました。 phpize
は、インストールされているXCode CLIツールで行うことが重要です。これは、phpize
がPHPのバージョンのビルドパラメーターを設定するためです。
上記の(1)または(2)からxdebug.so
を手にすると、php
またはphp.ini
で使用されているphp-fpm
にこのブロックを追加できます。
[Xdebug]
zend_extension=<full_path_to_xdebug.so>
xdebug.remote_enable=1
xdebug.remote_Host=<Host running PHP (e.g. localhost)>
xdebug.remote_port=<port Xdebug tries to connect to on the Host running PHP (default 9000)>
ここには2つの問題があります。 1つ目は、次のコマンドでXcodeコマンドラインツールをインストールする必要があることです。
xcode-select --install
これは、以前に/usr/include/php/
で見つからなかったファイルが利用可能になることを意味します。
次のステップは、Aresが his answer で示しているのと同じ方法でautoconf
をインストールすることです。
最初にcd
をダウンロードフォルダに入れます
cd ~/Downloads/
curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-latest.tar.gz
tar xzf autoconf-latest.tar.gz
cd autoconf-*
./configure --prefix=/usr/local
make
Sudo make install
これで、pecl install
コマンドを実行できます
Sudo pecl install xdebug
Mac Yosemite 10.10を使用していて、上記の回答のいずれでも問題が解決しない場合。以下をせよ:
ターミナルを開く
実行find /usr/lib/php/extensions -name "xdebug.so"
デバッグライブラリへのパスを確認します。
Sudo nano /etc/php.ini
php.iniファイルを開いて編集するにはPhp.iniで、最後に次の行を追加します
[XDebug]
zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_Host=127.0.0.1
xdebug.remote_port=9000
(終了したら、control+o
保存してcontrol+x
ファイルを閉じます)
(最初の端末コマンドから得たものはすべて、zend_extensionの値を置き換えることを忘れないでください)
Sudo apachectl restart
新しい構成をロードするそうしなければならなかった brew install xdebug
とPHPのバージョン)を選択し、機能しました!たとえば、
brew install homebrew/php/php56-xdebug
PHPバージョン5.6のバリアント。
問題phpizeエラーについては、これを試して問題を解決してください:Sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/usr /含める
この問題に直面している人のために、ソースからautoconfをビルドしなければなりませんでした。 StackOverflowの別の質問からこの回答に従いました。