“Kann nicht finden config.m4." während der Ausführung phpize in der installation von apd mit pecl
Ich versuche, Zugang zu rename_function
in PHP, und dafür brauche ich PECL APD. Ich bin mit Ubuntu 14.04 LTS.
Ich versuche zu laufen sudo pecl install apd
, aber ich bin immer:
herunterladen apd-1.0.1.tgz ... Ab zur download-apd-1.0.1.tgz (36,643 bytes) ..........getan: 36,643 bytes 15 Quellcode-Dateien, Gebäude Ausführung: phpize Kann nicht finden, die config.m4. Stellen Sie sicher, dass Sie ausführen '/usr/bin/phpize' in der top-level-source-Verzeichnis das Modul Wenn der Befehl fehlgeschlagen 'phpize: nicht gefunden" - dann müssen Sie zum installieren von php5-dev Paket. Sie können es durch ausführen von "apt-get install php5-dev' als root userERROR: `phpize' failed
Soll ich diesen Befehl ausführen aus einem bestimmten Verzeichnis?
Dieser Zeit versuchte ich es mit verbose-Optionen eingeschaltet, den Fall gibt es einen Hinweis in den logs:
sudo /usr/bin/pecl -vvvvv installieren apd
Warning: file_exists(): Unable to find wrapper "Kanal" - hast du vergessen, um es zu aktivieren bei der Konfiguration von PHP? in PEAR/Downloader/Package.php on line 1518 Warning: is_file(): Unable to find wrapper "Kanal" - hast du vergessen, um es zu aktivieren bei der Konfiguration von PHP? in PEAR/Downloader/Package.php on line 1528 Warning: is_file(): Unable to find wrapper "Kanal" - hast du vergessen, um es zu aktivieren bei der Konfiguration von PHP? in PEAR/Downloader/Package.php on line 1528 Herunterladen "http://pecl.php.net/get/apd-1.0.1.tgz" herunterladen apd-1.0.1.tgz ... Ab zur download-apd-1.0.1.tgz (36,643 bytes) ..........getan: 36,643 bytes + cp /tmp/pear/temp/tmpNUpEpz/apd-1.0.1/LIZENZ /usr/share/php/doc/apd/.tmpLICENSE hinzufügen, um die Transaktion: chmod 664 /usr/share/php/doc/apd/.tmpLICENSE hinzufügen, um die Transaktion: umbenennen von /usr/share/php/doc/apd/.tmpLICENSE /usr/share/php/doc/apd/LIZENZ hinzufügen, um die Transaktion: installed_as LIZENZ /usr/share/php/doc/apd/LIZENZ /usr/share/php/doc /apd + cp /tmp/pear/temp/tmpNUpEpz/apd-1.0.1/README /usr/share/php/doc/apd/.tmpREADME hinzufügen, um die Transaktion: chmod 664 /usr/share/php/doc/apd/.tmpREADME hinzufügen, um die Transaktion: umbenennen von /usr/share/php/doc/apd/.tmpREADME /usr/share/php/doc/apd/README hinzufügen, um die Transaktion: installed_as README /usr/share/php/doc/apd/README /usr/share/php/doc /apd + cp /tmp/pear/temp/tmpNUpEpz/apd-1.0.1/pprofp /usr/bin/.tmppprofp + chmod +x /usr/bin/.tmppprofp hinzufügen, um die Transaktion: chmod 775 /usr/bin/.tmppprofp hinzufügen, um die Transaktion: umbenennen von /usr/bin/.tmppprofp /usr/bin/pprofp hinzufügen, um die Transaktion: installed_as pprofp /usr/bin/pprofp /usr/bin / + cp /tmp/pear/temp/tmpNUpEpz/apd-1.0.1/pprof2calltree /usr/bin/.tmppprof2calltree + chmod +x /usr/bin/.tmppprof2calltree hinzufügen, um die Transaktion: chmod 775 /usr/bin/.tmppprof2calltree hinzufügen, um die Transaktion: umbenennen von /usr/bin/.tmppprof2calltree /usr/bin/pprof2calltree hinzufügen, um die Transaktion: installed_as pprof2calltree /usr/bin/pprof2calltree /usr/bin / 15 Quellcode-Dateien, Gebäude Gebäude im /tmp/pear/temp/pearf7LGca Ausführung: phpize Kann nicht finden, die config.m4. Stellen Sie sicher, dass Sie ausführen '/usr/bin/phpize' in der top-level-source-Verzeichnis des Moduls Wenn der Befehl fehlgeschlagen 'phpize: nicht gefunden" - dann müssen Sie zum installieren von php5-dev packageYou tun können, es durch ausführen von "apt-get install php5-dev' als root userrolling zurück 12 Datei-Operationen + rm /usr/share/php/doc/apd/.tmpLICENSE + rm /usr/share/php/doc/apd/.tmpREADME + rm /usr/bin/.tmppprofp + rm /usr/bin/.tmppprof2calltree ERROR: `phpize' failed Warning: unlink ("/tmp/glibctestRdKE0K): Keine solche Datei oder Verzeichnis in System.php on line 214 Warning: unlink ("/tmp/pear/temp/pearf7LGca): Keine solche Datei oder Verzeichnis in System.php on line 214
Haben Sie sich die Mühe der Lektüre der letzten Zeile der Fehlermeldung? Er sagt Ihnen, was die wahrscheinlichste Lösung ist.
Ich habe. apt-get install php5-dev wurde erfolgreich ausgeführt, und phpize existiert in /usr/bin. Ich verstehe nicht, "Stellen Sie sicher, dass Sie ausführen '/usr/bin/phpize' in der top-level-source-Verzeichnis des Moduls" allerdings.
Ich habe. apt-get install php5-dev wurde erfolgreich ausgeführt, und phpize existiert in /usr/bin. Ich verstehe nicht, "Stellen Sie sicher, dass Sie ausführen '/usr/bin/phpize' in der top-level-source-Verzeichnis des Moduls" allerdings.
InformationsquelleAutor Anthony | 2014-07-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wird dies eine kurze Zusammenfassung von allem, was ist, eine Voraussetzung zu laufen APD als PHP-profiler, ich hoffe, es wird helfen, Ihre Bedürfnisse. Diese Zusammenfassung gilt für PHP 5.6.2 APD 1.0.1 und könnte falsch sein für andere Versionen.
Zunächst nicht starten, wenn Sie nicht sicher diese beiden:
--enable-debug
)Wenn Sie ein funktionierendes PEAR-Installation müssen Sie setup APD wie in diese Artikel. Vergessen Sie nicht, zu versuchen, die Verteilung von Paketen. Ansonsten APD-build wie folgt:
<apache root>/bin/phpsize
./configure
(Add--with-php-config=<apache root>/bin/php-config
wenn configure fehlschlägt.)Jetzt müssen Sie den Apache neu starten, aber bevor Sie das tun, überprüfen Sie, dass die APD-Verlängerung funktioniert einwandfrei. Zu tun, führen Sie einfach die PHP -
Keine Warnung erfolgen soll, wenn die Erweiterung korrekt geladen. Wenn Sie erhalte eine Fehlermeldung, so etwas wie die "apd.so" Erweiterung konnte nicht geladen werden gibt es ein problem. Prüfen Sie, ob Sie kompiliert gegen die richtigen Apache - /PHP-version und mit dem gleichen Recht jetzt.
Wenn PHP nicht beschweren über irgendetwas eingeben:
und prüfen Sie für einige Zeilen über APD. Wenn Sie fertig sind.
Müssen Sie auch einige Spuren so um die Ablaufverfolgung starten, müssen Sie Ihren Apache zu erlauben, das PHP-Modul zu laden, APD. Als Nächstes müssen Sie identifizieren, das Skript zu verfolgen. Fügen Sie die APD-Aufruf am Anfang des Skripts:
Dann einige Anfragen, und entfernen Sie die Anweisung erneut, um zu vermeiden, weiteren Schaden verursacht.
Jetzt haben Sie einen Blick auf die trace-Verzeichnis. Sollten Sie Dateien mit dem Namensschema von
pprof[0-9]*.[0-9]
hier. Entschlüsseln Sie mithilfe derpprofp
tool von Ihrem APD-source-Tarballs. Beispiel:Umleiten von stdout, wenn nötig. Verwenden Sie -t statt -u (summary-output), um den Aufruf Bäume. Beim erstellen von Spuren mit -t erhalten Sie eine Zusammenfassung Ausgang zu, aber es enthält nicht die pro-Anrufdauer. Ich schlage vor, immer sowohl eine call-als Baum und eine Zusammenfassung trace.
Hoffe, das hilft, ich empfehlen Ihnen kaum zum Lesen der genannten link.
EDIT:
Den Befehl phpize ausgeführt werden soll, auf der obersten Ebene des extension-source-dir (diese Quelle dir sollte eine Datei namens config.m4). Sehen diese für mehr info.
make
odermake install
, bekomme ich mehrere Seiten von Fehlern, wie z.B. "/usr/include/php5/Zend/zend_globals_macros.h:37:33: Fehler: "struct _zend_compiler_globals' has no member named 'extended_info' # define CG(v) (compiler_globals.v)". Ich glaube nicht, dass Zend platform installiert. Wie installiere ich eine debugging-fähige version von PHP? (Mir nicht bieten --enable-debug)Ich kann nur raten, weil Ihr eine Zeile in der Fehlermeldung, so dass, wenn Sie verwendet werden
function_entry
dann ändern Sie es zuzend_function_entry
verursachen function_entry entfernt in php 5.4. Die Fehlermeldung sagt, dass die APD kann nicht kompilieren, nach Ihrer version von PHP. Hier ist ein patch, dass sollte dein problem lösen. Wenn Sie Ihre PHP-version nicht gestatten Ihnen, zu Debuggen, zu versuchen, es zu installieren DBG Hoffe, das hilft.Hab es - danke für die Hilfe!
Die Menschen aus der Zukunft: ich war in der Lage zu bauen apd1.0.1 gegen php5.4 mit dieser patch.
Ich habe diesen patch mit PHP 5.6 und ich habe Fehler wie, dass. php_apd.c:984:23: Fehler: expected expression before '=' token CG(compiler_options) = CG(compiler_options) | ZEND_COMPILE_EXTENDED_INFO; Sie haben keine Ideen, wie Sie zu beheben ?
InformationsquelleAutor balintpekker
Als pro Fehler:
Ich denke, Sie sollten installieren Sie die Modul-Entwicklung für PHP über:
Dieses sollten Sie mit
phpize
binäre notwendig zum kompilieren des Pecl-Erweiterung Quellen. Und stellen Sie sicher, dass es in IhremPATH
.InformationsquelleAutor kenorb