I am currently trying to build an extension for PHP via PECL.
/Applications/MAMP/bin/php/php5.4.39/bin/pecl install memcached
I am using OS X and MAMP, so I got this error.
/Applications/MAMP/bin/php/php5.4.39/include/php/Zend/zend.h:51:11: fatal error: 'zend_config.h' file not found
Since MAMP is shipping without any header files for PHP, I had to get them manually. So I went to here https://github.com/php/php-src/releases/tag/php-5.4.39 and downloaded the source.
I extracted it to /Applications/MAMP/bin/php/php5.4.39/include/
and renamed the folder php-5php-src-PHP-5.4.39
folder to php
and tried change to the folder /Applications/MAMP/bin/php/php5.4.39/include/php
.
I tried to run the configuration script with ./configure
.
But it was not found.
I only found an configure.ln
, which as I was told was for autoconf. So I ran autoconf
. Autoconf crashed with errors like this:
configure.in:2: error: possibly undefined macro: dnl
I was confused. I found the script ./buildconf
which told me the following:
You should not run buildconf in a release package. use buildconf --force to override this check.
I forced it and there we go: a ./configure
script finally existed.
I checked the php.net site for the same release, because I thought this whole confusion has not been there the last time I did this.
So I downloaded this: http://php.net/get/php-5.4.39.tar.bz2/from/a/mirror
It had the ./configure
script.
Now my question: Why are the relases on php.net and the releases on GitHub different?
And how if not with the ./buildconf
script should I obtain a ./configure
script without using ./buildconf
which should obviously not be used in a release version?
Thanks :)
GitHub contains a mirror of PHP development version. Development versions usually don't have configure
script, because it has to be regenerated each time any of autotools input files changes. And these files tend to change during development phase.
You may read instructions on how to use development version and buildconf
script on php website.
Release versions for end users, with generated configure
script, should be downloaded directly from php.net.