2015-04-27 2 views
1

J'essaye actuellement de construire une extension pour PHP via PECL.Où puis-je obtenir le script de configuration pour la source PHP?

/Applications/MAMP/bin/php/php5.4.39/bin/pecl install memcached

J'utilise OS X et MAMP, donc j'eu cette erreur. Comme MAMP est livré sans aucun fichier d'en-tête pour PHP, j'ai dû les obtenir manuellement. Donc je suis allé ici https://github.com/php/php-src/releases/tag/php-5.4.39 et téléchargé la source.

Je l'ai extrait à /Applications/MAMP/bin/php/php5.4.39/include/ et renommé le dossier dossier php-5php-src-PHP-5.4.39 en php et j'ai essayé de changer le dossier /Applications/MAMP/bin/php/php5.4.39/include/php. J'ai essayé d'exécuter le script de configuration avec ./configure. Mais il n'a pas été trouvé. J'ai seulement trouvé un configure.ln, qui, comme on m'a dit était pour autoconf. J'ai donc couru autoconf. Autoconf s'est écrasé avec des erreurs comme ceci:

configure.in:2: error: possibly undefined macro: dnl

J'étais confus. J'ai trouvé le script ./buildconf qui m'a dit ce qui suit:

You should not run buildconf in a release package. use buildconf --force to override this check.

je l'ai forcé et là, nous allons: un script ./configure finalement existé.

J'ai vérifié sur le site php.net pour la même version, parce que je pensais que toute cette confusion n'était pas là la dernière fois que je l'ai fait.

Je téléchargé ceci: http://php.net/get/php-5.4.39.tar.bz2/from/a/mirror

Il avait le script ./configure.

Maintenant ma question: Pourquoi les relases sur php.net et les versions sur GitHub sont-elles différentes? Et comment sinon avec le script ./buildconf devrais-je obtenir un script ./configure sans utiliser ./buildconf qui ne devrait évidemment pas être utilisé dans une version version?

Merci de

Répondre

0

GitHub contient un miroir de la version de développement PHP. Les versions de développement n'ont généralement pas de script configure, car il doit être régénéré chaque fois que l'un des fichiers d'entrée d'autotools change. Et ces fichiers ont tendance à changer pendant la phase de développement.

Vous pouvez lire les instructions sur l'utilisation de la version de développement et le script buildconf sur php website.

Les versions de version pour les utilisateurs finaux, avec le script configure généré, doivent être téléchargées directement à partir de php.net.

+0

Donc, si je comprends bien, le code d'un tag ou d'une version n'est pas exactement le même que dans les paquets de version sur PHP? – func0der

+0

@ func0der Je pense que la seule différence est que git "releases" n'a pas de scripts générés par autotools. – baf

+0

OK. Merci pour l'info :) – func0der