PHPIZEを実行して以下のエラーが発生した場合、どうすればよいですか?私はすでにXcodeコマンドラインツールをインストールしました。
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:
より良い解決策の可能性-ヘッダーファイルを強制的に再インストールします。私にとってシステム全体の多くの問題を修正しました。
次のコマンドを実行すると、開発者ツールのヘッダーファイルが再インストールされ、問題が修正されます。
$ Sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
何らかの理由で、Xcode command line tools
がMacに完全にインストールされていないことがわかりました。最後に、次のようにしてこの問題を解決しました。
1. xcode-select --install
2. cd /Library/Developer/CommandLineTools/Packages/
3. open macOS_SDK_headers_for_macOS_10.14.pkg
注:手順2を実行した後、ディレクトリに.pkg
ファイルがない場合。たぶん、この解決策はあなたを助けません。
phpizeを見つけて編集し、
~$ whereis phpize
phpize: /usr/local/bin/phpize
~$ vim /usr/local/bin/phpize
私のphpize
スクリプトでは、それはそのようなものです
prefix='/usr/local/php7' ## where you should edit
datarootdir='/usr/local/php7/php'
exec_prefix="`eval echo ${prefix}`"
phpdir="`eval echo ${exec_prefix}/lib/php`/build"
includedir="`eval echo ${prefix}/include`/php"
...
phpize_get_api_numbers()
{
# extracting API NOs:
PHP_API_VERSION=`grep '#define PHP_API_VERSION' $includedir/main/php.h|$SED 's/#define PHP_API_VERSION//'`
ZEND_MODULE_API_NO=`grep '#define ZEND_MODULE_API_NO' $includedir/Zend/zend_modules.h|$SED 's/#define ZEND_MODULE_API_NO//'`
ZEND_EXTENSION_API_NO=`grep '#define ZEND_EXTENSION_API_NO' $includedir/Zend/zend_extensions.h|$SED 's/#define ZEND_EXTENSION_API_NO//'`
}
ヘッダーファイルがあることを確認したが、phpizeスクリプトのconfigureが間違っている場合、行を編集できます
prefix='/usr/local/php7'
およびphp.h
は
$ pwd
/usr/local/php7/include/php/main
$ ls php.*
php.h
そうでない場合は、自分でPHPをコンパイルできます