Невозможно использовать PHPIZE после обновления до MacOS Mojave

Что я должен делать, когда я запускаю 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:

3 ответа

Решение

Найти 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 настроен неправильно, вы можете отредактировать строку

prefix='/usr/local/php7'

а также php.h в

$ pwd
/usr/local/php7/include/php/main
$ ls  php.*
php.h

если нет, вы можете скомпилировать php самостоятельно

Потенциально лучшее решение - принудительно переустановить заголовочные файлы. Исправлено множество проблем для меня всей системы.

Выполнение следующей команды переустановит заголовочные файлы инструментов разработчика и должно решить проблему.

$ 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 файл в реж. может быть, это решение не поможет вам.

У меня была та же проблема, что и описанная выше, только я пытался установить xdebug на MacOS Mojave.

Я решил проблему, выполнив:

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
Другие вопросы по тегам