Невозможно использовать 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:

Ответы

Ответ 1

найти 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 самостоятельно

Ответ 2

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

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

Ответ 3

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

Ответ 4

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

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

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /