В настоящее время я пытаюсь построить расширение для PHP через PECL.
/Applications/MAMP/bin/php/php5.4.39/bin/pecl install memcached
Я использую OS X и MAMP, поэтому я получил эту ошибку.
/Applications/MAMP/bin/php/php5.4.39/include/php/Zend/zend.h:51:11: фатальная ошибка: файл ‘zend_config.h’ не найден
Поскольку MAMP поставляется без заголовочных файлов для PHP, мне пришлось получать их вручную.
Итак, я пошел сюда https://github.com/php/php-src/releases/tag/php-5.4.39 и скачал источник.
Я извлек это /Applications/MAMP/bin/php/php5.4.39/include/
и переименовал папку php-5php-src-PHP-5.4.39
папка для php
и попытался изменить в папку /Applications/MAMP/bin/php/php5.4.39/include/php
,
Я попытался запустить скрипт конфигурации с ./configure
,
Но это не было найдено.
Я только нашел configure.ln
что, как мне сказали, было для autoconf. Итак, я побежал autoconf
, Сбой Autoconf с такими ошибками:
configure.in:2: ошибка: возможно, неопределенный макрос: dnl
Я был сбит с толку. Я нашел скрипт ./buildconf
который сказал мне следующее:
Вы не должны запускать buildconf в выпускном пакете.
используйте buildconf —force для отмены этой проверки.
Я заставил это, и мы пошли: ./configure
Сценарий наконец-то существовал.
Я проверил сайт php.net на тот же релиз, потому что думал, что вся эта путаница не была там в прошлый раз, когда я сделал это.
Итак, я скачал это: http://php.net/get/php-5.4.39.tar.bz2/from/a/mirror
Это было ./configure
скрипт.
Теперь мой вопрос: почему рефералы на php.net и релизы на GitHub разные?
И как, если не с ./buildconf
сценарий я должен получить ./configure
сценарий без использования ./buildconf
который, очевидно, не должен использоваться в релиз версия?
Спасибо 🙂
GitHub содержит зеркало версии разработки PHP. Версии для разработки обычно не имеют configure
сценарий, потому что он должен быть обновлен каждый раз, когда любой из входных файлов автоинструментов изменяется. И эти файлы имеют тенденцию изменяться на этапе разработки.
Вы можете прочитать инструкции по использованию разрабатываемой версии и buildconf
сценарий на сайт php.
Выпускать версии для конечных пользователей, сгенерированные configure
скрипт, должен быть загружен непосредственно из php.net.
Других решений пока нет …