Невозможно использовать PHPIZE после обновления до MacOS Mojave - PullRequest
0 голосов
/ 01 октября 2018

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

Ответы [ 4 ]

0 голосов
/ 14 апреля 2019

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

0 голосов
/ 02 октября 2018

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

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
0 голосов
/ 28 ноября 2018

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

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

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
0 голосов
/ 01 октября 2018

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

...