webentwicklung-frage-antwort-db.com.de

Probleme bei der Installation von OAUTH mit PECL in MAMP unter Mac OS Lion

ich bin neu im Einrichten von PHP-Servern, und ich hatte gehen, obwohl andere verwandte Post, scheint, als habe niemand den gleichen Fehler wie ich ... Ich verwende MAMP 2.0.2 und Laufen PHP 5.3.6, und ich habe versucht, oAuth mit folgenden Befehlen auf meinem lokalen MAMP zu installieren:

$ cd /Applications/MAMP/bin/php/php5.3.6/bin
$ ./pecl install oauth

es wird jedoch ein solcher Fehler zurückgegeben:

Notice: unserialize(): Error at offset 276 of 1133 bytes in Config.php on line 1050
ERROR: The default config file is not a valid config file or is corrupted.

Was ist los? PECL ist in MAMP gebündelt, was sofort funktionieren sollte.

Aktualisieren:

Ich habe an einem anderen Ort gelesen, dass die Daten der Konfigurationsdatei, die die Installationspfade enthalten, nicht korrekt sind. Daher habe ich einige Werte in der folgenden Datei geändert:

/Applications/MAMP/bin/php/php5.3.6/conf/pear.conf

Dann benutze ich den Befehl:

$ ./pecl install oauth

Das Herunterladen und Entpacken wird gestartet, aber bei der Installation wird Folgendes angezeigt:

creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h
running: make
/bin/sh /private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/libtool --mode=compile cc  -I. -I/private/tmp/pear/temp/oauth -DPHP_ATOM_INC -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/include -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/main -I/private/tmp/pear/temp/oauth -I/Applications/MAMP/bin/php/php5.3.6/include/php -I/Applications/MAMP/bin/php/php5.3.6/include/php/main -I/Applications/MAMP/bin/php/php5.3.6/include/php/TSRM -I/Applications/MAMP/bin/php/php5.3.6/include/php/Zend -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2 -Wall -g   -c /private/tmp/pear/temp/oauth/oauth.c -o oauth.lo
mkdir .libs
cc -I. -I/private/tmp/pear/temp/oauth -DPHP_ATOM_INC -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/include -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/main -I/private/tmp/pear/temp/oauth -I/Applications/MAMP/bin/php/php5.3.6/include/php -I/Applications/MAMP/bin/php/php5.3.6/include/php/main -I/Applications/MAMP/bin/php/php5.3.6/include/php/TSRM -I/Applications/MAMP/bin/php/php5.3.6/include/php/Zend -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -Wall -g -c /private/tmp/pear/temp/oauth/oauth.c  -fno-common -DPIC -o .libs/oauth.o
In file included from /private/tmp/pear/temp/oauth/oauth.c:14:
/private/tmp/pear/temp/oauth/php_oauth.h:20:10: 

fatal error: 'php.h' file not found

include "php.h"
     ^

1 error generated.

make: *** [oauth.lo] Error 1

ERROR: `make' failed

Was passiert wieder?

27
David Chen

Ich weiß, das ist alt, aber ich habe diese Frage bei einem ähnlichen Problem gefunden.

MAMP wird nicht mit einer Reihe von PHP Quellen ausgeliefert 

  • Laden Sie die MAMP-Komponenten herunter und konfigurieren Sie sie
  • URL: http://www.mamp.info/de/downloads/index.html (d. H. MAMP_components_2.0.2.Zip)
  • Packen Sie Ihren MAMP_components_2.0.2.Zip aus
  • Identifizieren Sie Ihre php-5.x.x.tar.gz-Datei (wobei 5.x.x Ihre Version von PHP ist).
  • Wenn Sie php> 5.4.10 verwenden, laden Sie die Quellen von http://php.net/releases herunter, da sie nicht in den MAMP-Komponenten heruntergeladen werden (Credit pulkitsinghal in comments).
  • Erstellen Sie ein Verzeichnis für Ihre PHP - Quellen: 

    mkdir -vp /Applications/MAMP/bin/php5/include

  • Entpacken Sie php-5.x.x.tar.gz in /Applications/MAMP/bin/php/php5.*/include oder in/Applications/MAMP/bin/php5 /:

    tar zxvf php-5.x.x.tar.gz -C /Applications/MAMP/bin/php/php5.?.??/include

  • Benennen Sie Ihr php-5.x.x-Verzeichnis in php um (ohne Versionsnummerierung):

    mv /Applications/MAMP/bin/php/php5.2.17/include/php-5.?.?? /Applications/ MAMP/bin/php/php5.2.17/include/php

  • Konfigurieren Sie PHP Quellen (es werden die erforderlichen Dateien erstellt, d. H. Zend_config.h, tsrm_config.h usw.):

    cd /Applications/MAMP/bin/php/php5.?.??/include/php

    ./configure

Der Prozess war für ein anderes Update, aber dadurch wurden die Probleme behoben, bei denen php.h nicht gefunden wurde

Dank, wo ich die Antworten gefunden habe:

Thomas Hunter Blog

Google Doc-Detaillierungsprozess

64
Stephen

Ich hatte das gleiche Problem, als ich mit MAMP pecl install -f ssh2 versuchte. 

So habe ich es behoben:

  1. MAMP stellt kein Quellcode-Archiv für PHP 5.4.10 zur Verfügung. Laden Sie es also von php.net herunter.
  2. Extrahieren Sie das Quellcode-Archiv nach /Applications/MAMP/bin/php/php5.4.10/include/php
  3. Führen Sie ./configure aus, um den Quellcode für Ihre Plattform zu konfigurieren (ohne diesen Schritt schlägt die Installation von pecl fehl, und sucht nach mehreren Header-Dateien)
  4. Wiederholen Sie die pecl-Installation

(vielen Dank an Stephens Antwort, die ziemlich gleich ist)

29
James Newell

Dies ist eine Ergänzung zu Stephens Antwort und Gregs Kommentar

Beim Kompilieren von xdebug 2.3.2 für php 5.6.2 unter OSX 10.10.2 konnte ich das nicht loswerden 

'zend_config.h' Datei nicht gefunden

fehler, bis ich die folgende Option zu ./configure im PHP-Ordner hinzugefügt habe:

./konfiguration --ohne-iconv

Kredite an Cameron Browning

6
beniguet

PECL-Module sind kompilierte Module. Um sie zu installieren, benötigen Sie die Header PHP. Sie finden die Header auf php.net/downloads.php. Stellen Sie sicher, dass Sie eine Version herunterladen, die mit Ihrer PHP - Version übereinstimmt. Dann können Sie diesem folgen: Installieren von PHP OAuth in der MAMP-Umgebung

1
sonique