Heim > Backend-Entwicklung > PHP-Tutorial > Probleme, die durch die Koexistenz mehrerer PHP-Versionen verursacht werden

Probleme, die durch die Koexistenz mehrerer PHP-Versionen verursacht werden

WBOY
Freigeben: 2016-08-10 09:07:31
Original
1189 Leute haben es durchsucht

Hier ist ein Server, der Nginx plus PHP-FPM verwendet. Da ich nun eine neue Redis-Erweiterung installieren möchte, habe ich das Quellcodepaket der Redis-Erweiterung heruntergeladen offizielle Website und kompiliert, schließlich extension=redis.so zu php.ini hinzufügen und schließlich php-fpm neu starten.

Es ist also ein Fehler aufgetreten, was bedeutet, dass die Version der PHP-Erweiterung, die ich kompiliert habe, unterschiedlich war

<code>PHP Warning:  PHP Startup: redis: Unable to initialize module
Module compiled with module API=20100525
PHP    compiled with module API=20121212</code>
Nach dem Login kopieren
Nach dem Login kopieren

Ich habe den Grund wahrscheinlich herausgefunden, weil die Version, die php-fpm -v verwendet, 5.5 ist, die von php -v angezeigte Version 5.3 ist und phpize 5.3 verwendet.

Also habe ich die kompilierte SO-Datei gelöscht, das Quellcodepaket erneut dekomprimiert und kompiliert und die 5.5-Version von PHPIZE verwendet. Beim Neustart stellte ich fest, dass sie immer noch dieselbe war und keinen Nutzen hatte.

<code>$ /usr/local/php/bin/phpize -v
Configuring for:
PHP Api Version:         20121113
Zend Module Api No:      20121212
Zend Extension Api No:   220121212

$ sudo /usr/local/php/bin/phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make
$ sudo make install</code>
Nach dem Login kopieren
Nach dem Login kopieren

Wie soll ich diese Situation lösen? Es ist für mich unmöglich, Version 5.3 zu löschen, da sie auf dem Server liegt und möglicherweise von anderen verwendet wird.

Antwortinhalt:

Hier ist ein Server, der Nginx plus PHP-FPM verwendet. Da ich nun eine neue Redis-Erweiterung installieren möchte, habe ich das Quellcodepaket der Redis-Erweiterung heruntergeladen offizielle Website und kompiliert, schließlich extension=redis.so zu php.ini hinzufügen und schließlich php-fpm neu starten.

Es ist also ein Fehler aufgetreten, was bedeutet, dass die von mir kompilierte PHP-Erweiterung eine andere Version verwendet hat

<code>PHP Warning:  PHP Startup: redis: Unable to initialize module
Module compiled with module API=20100525
PHP    compiled with module API=20121212</code>
Nach dem Login kopieren
Nach dem Login kopieren

Ich habe den Grund wahrscheinlich herausgefunden, weil die Version, die php-fpm -v verwendet, 5.5 ist, die von php -v angezeigte Version 5.3 ist und phpize 5.3 verwendet.

Also habe ich die kompilierte SO-Datei gelöscht, das Quellcodepaket erneut dekomprimiert und kompiliert und die 5.5-Version von PHPIZE verwendet. Beim Neustart stellte ich fest, dass sie immer noch dieselbe war und keinen Nutzen hatte.

<code>$ /usr/local/php/bin/phpize -v
Configuring for:
PHP Api Version:         20121113
Zend Module Api No:      20121212
Zend Extension Api No:   220121212

$ sudo /usr/local/php/bin/phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make
$ sudo make install</code>
Nach dem Login kopieren
Nach dem Login kopieren

Wie soll ich diese Situation lösen? Es ist für mich unmöglich, Version 5.3 zu löschen, da sie auf dem Server liegt und möglicherweise von anderen verwendet wird.

Machen Sie den PHP-Konfigurationspfad korrekt

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage