Heim > Backend-Entwicklung > PHP-Tutorial > php 如何单独编译 mysqlnd 扩展?

php 如何单独编译 mysqlnd 扩展?

WBOY
Freigeben: 2016-07-06 13:51:41
Original
1987 Leute haben es durchsucht

最近折腾 php,下载的 php 7.0.8

编译时只开启了 php-fpm

<code>./configure --prefix=/usr/lcoal/php --enable-fpm
</code>
Nach dem Login kopieren
Nach dem Login kopieren

想通过 phpize 来添加各种扩展,但是在 mysql 支持上遇到了问题
在 ext/mysqlnd 目录下执行了 phpize ,生成了 configure 之后
在 ./configure 时,先是提示无法找到 openssl 的一个头文件:

<code>configure: error: Cannot find OpenSSL's <evp.h>
</evp.h></code>
Nach dem Login kopieren
Nach dem Login kopieren

手动修改了 configure 脚本中的变量:

<code>OPENSSL_INCDIR=/usr
OPENSSL_LIBDIR=/usr/lib64</code>
Nach dem Login kopieren
Nach dem Login kopieren

最终编译成功,在 php.ini 里添加

<code>extension=mysqlnd.so</code>
Nach dem Login kopieren
Nach dem Login kopieren

或者

<code>zend_extension=mysqlnd.so</code>
Nach dem Login kopieren
Nach dem Login kopieren

都无法加载

请教一下, mysqlnd 和 fpm 都只能第一次编译 php 的时候就要在 configure 里加上么?

回复内容:

最近折腾 php,下载的 php 7.0.8

编译时只开启了 php-fpm

<code>./configure --prefix=/usr/lcoal/php --enable-fpm
</code>
Nach dem Login kopieren
Nach dem Login kopieren

想通过 phpize 来添加各种扩展,但是在 mysql 支持上遇到了问题
在 ext/mysqlnd 目录下执行了 phpize ,生成了 configure 之后
在 ./configure 时,先是提示无法找到 openssl 的一个头文件:

<code>configure: error: Cannot find OpenSSL's <evp.h>
</evp.h></code>
Nach dem Login kopieren
Nach dem Login kopieren

手动修改了 configure 脚本中的变量:

<code>OPENSSL_INCDIR=/usr
OPENSSL_LIBDIR=/usr/lib64</code>
Nach dem Login kopieren
Nach dem Login kopieren

最终编译成功,在 php.ini 里添加

<code>extension=mysqlnd.so</code>
Nach dem Login kopieren
Nach dem Login kopieren

或者

<code>zend_extension=mysqlnd.so</code>
Nach dem Login kopieren
Nach dem Login kopieren

都无法加载

请教一下, mysqlnd 和 fpm 都只能第一次编译 php 的时候就要在 configure 里加上么?

  1. openssl 无法找到 是php本身没有ssl扩展 需要先装ssl扩展

  2. 不需要修改configure文件

  3. 理论上所有扩展都是可以后期动态编译或者添加

完全可以后期增加拓展,不要make install操作就好了

感觉你先要安装openssl的扩展再按照configure帮助中提供的一些辅助方法 来编译吧 openssl安装方法
然后你就可以类似的安装mysqlnd扩展

这两个扩展都有个前提 你要安装ssl扩展先要安装openssl ,你要安装mysqlnd扩展先要安装mysql

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