2016-06-03 12 views
1

Ich benutze Cento-7-Mini. erste installiere ich einige Abhängigkeiten von yum, und ich kompilieren php-5.5.36:Warum kann ich nicht PHP-Erweiterung von Pecl installieren?

./configure --prefix=/usr/local/php \ 
--enable-fpm \ 
--enable-opcache \ 
--enable-mysqlnd \ 
--enable-mbstring \ 
--enable-sockets \ 
--with-fpm-user=www-data \ 
--with-fpm-group=www-data \ 
--with-pdo-mysql=mysqlnd \ 
--with-mysqli=mysqlnd \ 
--with-gd \ 
--with-zlib \ 
--with-curl \ 
--with-mcrypt \ 
--with-openssl 

dann kopiere ich die php.ini-Produktion /usr/local/php/etc/php.ini und

mv /usr/local/php/etc/php-fpm.default /usr/local/php/etc/php-fpm 

dann konfiguriere ich meinen Nginx-Server und ich kann phpinfo() erfolgreich testen. Das ist kein Problem, denke ich.

Ich möchte eine Erweiterung installieren, zum Beispiel memcache. siehe

pecl install memcache 

dann kann ich:

Build process completed successfully 
Installing '/usr/local/php/lib/php/extensions/no-debug-non-zts-  20121212/memcache.so' 
install ok: channel://pecl.php.net/memcache-3.0.8 
configuration option "php_ini" is not set to php.ini location 
You should add "extension=memcache.so" to php.ini 

dann füge ich

extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so 

in die Datei /usr/local/php/etc/php.ini

finnaly, Ich starte mein php-fpm und nginx neu, aber ich kann die Memcache-Erweiterung in der phpinfo-Seite nicht sehen.

Ich habe viele Artikel gesehen, aber ich kann keine Antworten finden.

Antwort

0

Zuerst müssen Sie PEAR über apt-get installieren, um das erforderliche Paket und Verteilungssystem zu erhalten, das sowohl PEAR als auch PECL verwendet. Von einem Shell-Prompt eingeben:

sudo apt-get install php-pear 

Sie werden aufgefordert die Installation zu bestätigen. Drücken Sie einfach "y" und geben Sie ein. Wenn alles gut geht, sollten Sie das php-pear Paket herunterladen und installieren.

Jetzt müssen Sie das php5-dev-Paket installieren, um die notwendigen PHP5-Quelldateien zum Kompilieren zusätzlicher Module zu erhalten. Geben Sie die folgenden von einem Shell-Prompt:

sudo apt-get install php5-dev 

Wenn Sie das php5-dev Paket nicht installieren und versuchen, eine PECL-Erweiterung mit „Birne installieren“ zu installieren, müssen Sie die folgende Fehlermeldung erhalten:

sh: phpize: not found 
ERROR: `phpize’ failed 

Für die Erweiterung PECL_HTTP muss ein zusätzliches Abhängigkeitspaket installiert werden. Sie können dies wahrscheinlich für andere Nebenstellen überspringen:

Jetzt sind wir endlich bereit, die Erweiterung tatsächlich zu installieren. Von einem Shell-Prompt eingeben folgenden aber Ersatz „pecl_http“ mit der PECL-Erweiterung Namen, den Sie installieren:

sudo pecl install pecl_http 

Der Installer Sie über einige spezifische Optionen für die Erweiterung fragen Sie installieren. Sie können wahrscheinlich ein- oder mehrmals die Eingabetaste drücken, um alle Standardeinstellungen zu übernehmen, es sei denn, Sie möchten bestimmte Optionen für Ihre Implementierung festlegen. Wenn alles gut geht, sollte das Modul herunterladen, erstellen und installieren.

Sobald die Installation abgeschlossen ist, werden Sie wahrscheinlich aufgefordert, eine Zeile "extension =" zu Ihrer php.ini-Datei hinzuzufügen. Öffne den PHP.Ini-Datei in Ihrem bevorzugten Texteditor und fügen Sie die Zeile unter dem Abschnitt "Dynamische Erweiterungen" hinzu. Auf Ubuntu die php.ini-Datei im Verzeichnis/etc/php5/apache2 Ordner zu sein scheint:

sudo nano /etc/php5/apache2/php.ini 

In diesem Beispiel installieren Sie die pecl_http Erweiterung fragte mich „extension = http.so“ hinzuzufügen. Nun, da die php.ini Datei aktualisiert wurde, Apache muss neu gestartet werden, damit die neue Erweiterung geladen wird:

sudo /etc/init.d/apache2 restart 
+0

ich verwenden kann, yum oder apt-get natürlich, aber ich sage, ich verwende CentOS und ich will php und php-extension kompilieren. –

Verwandte Themen