实时搜索: php有哪些扩展

php有哪些扩展

652条评论 1464人喜欢 3123次阅读 338人点赞
我php源程序在/opt/download/php-5.6.30/目录下,我cd /opt/download/php-5.6.30/ext/pdo_mysql进行扩展安装。输入
phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226

输入
./configure --with-php-config=/usr/local/bin/ph...

如何设置PHP扩展的目录?:   当服务器上PHP已经安装好,需要额外添加PHP扩展时怎么办?不需要重新安装PHP,有了phpize我们可以在原有的PHP基础之上直接安装扩展库。
  这次编译仅仅只是单独编译PHP的扩展库,接下来将编译好的扩展库加入到现在运行的php中,不对现在运行的php重新编译,所以没有一点的影响。
  下面我们演示安装xsl的扩展(不一定常用,仅做为一个范例)
  做法一:
  1.找到当前运行的php版本的源代码目录,如php-5.2.3。进入xsl扩展库目录。
  $cd /home/pkgs/php-5.3.3/ext/xsl
  2.调用phpize程序生成编译配置文件。
  $/home/app/php5.3.3/bin/phpize
  3.编译扩展库,分别执行下面的configure和make命令。
  $./configure-with-php-config=/home/app/php5.3.3/bin/php-config
  这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。
  $make
  #make成功执行后,生成的扩展库文件在当前目录的 modules子目录下,
  如/home/php-5.3.3/ext/curl/modules/xsl.so
  4.配置php.ini文件
  #将编译好的扩展库文件复制到PHP的扩展目录下,可通过查看phpinfo信息。。
  $ cp /home/pkg/php-5.3.3/ext/xsl/modules/xsl.so /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626
  #在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到php安装目录/extension/no-debug-non....目录下,并添加扩展库位置。
  extension_dir /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626”
  extension=xsl.so
  5.重启php,查看phpinfo信息,即可看到刚才添加进去的xsl扩展库。(如果有多个php-fpm进程的话,平滑重启主进程即可:kill -USR2 pid)

如何扩展PHP的IMAP模块: 如果对php进行模块扩展,重新编译PHP,这个过程比较痛苦,我的方法都是采用编译模块为*.so的方式,简单,方便,不用去其他地方找模块源码包,php源码自带了。

1、进入安装目录
cd /path/ext/imap
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config

就是到这步报错了,如果你碰到这样的错误:
This c-client library is built with Kerberos support.
Add --with-kerberos to your configure line. Check config.log for details

utf8_mime2text() has new signature

以上2个错误都是由于缺少 libc-client-* 软件包引起,由于我是Centos系统,就直接yum升级吧
yum -y install libc-client-*

安装完毕后,再次编译,
./configure --with-php-config=/usr/local/webserver/php/bin/php-config

这次的错误不一样,如下:
configure: error: Kerberos libraries not found.
Check the path given to --with-kerberos (if no path is given, searches in /usr/kerberos, /usr/local and /usr )

既然提示少参数,就加上该参数吧,
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-kerberos=/usr

注意:这里有3个路径可以选择,于是就一个一个试一下,很幸运的是前面2个都不能编译通过,只有 --with-kerberos=/usr 可以,但是还是有报错,如下:
This c-client library is built with SSL support

看来离希望越来越近了,于是就加上 --with-imap-ssl=/usr 参数,终于编译通过了,真不容易。

最后完整的编译 imap 模块参数如下:
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-kerberos=/usr --with-imap-ssl=/usr
make
make install

怎么样判断php扩展与php版本的兼容性: 这个提示上面写着API编号,也就是PHP版本号。扩展版本基于API=20100525的PHP库编译的。而你运行的PHP版本是基于API=20060613。这个API=的一般都是日期,就是当年开发编译的这个。你下载新的PHP就好了。这个问题一般都出在win下面。建议做PHP还是快到linux下来。

nginx和php 怎么安装mysqli扩展:   在 centos 下编译安装 php 时,有时候经常会忘了某些扩展,比如 pdo,mysqli,但是到扩展目录下,我们又找不到相应的 扩展文件,(.so 文件) ,这样的情况下只能 编译安装该模块,生成对应的 so 文件,然后在 php.ini 中添加相应的 扩展记录,重启 php就可以了,我们以安装 mysqli 为例。
  首先进入 php 源码包 如果 找不到可以可下载一个 地址在这里:http://us2.php.net/get/php-5.2.17.tar.gz/from/a/mirror解压
  tar xvzf php-5.2.17.tar.gz
  cdphp-5.2.17/ext/mysqli/
  然后运行 php 安装目录下的 phpize
  /usr/local/nginx_php-5.2.17/bin/phpize
  (根据自己的 php 安装目录来查找,不一定是这个目录,如果找不到,可以根据 phpinfo() 来查看)然后编译安装 mysqli 扩展
  #./configure --prefix=/usr/local/mysqli --with-php-config=/usr/local/nginx_php-5.2.17/bin/php-config --with-mysqli=/usr/local/mysql/mysql_config安装
  make && make install
  然后在 php 的扩展目录下已经生成了 mysqli.so 文件打开 php.ini 文件,看是否有如下内容
  extension_dir = "/usr/local/nginx_php-5.2.17/lib/php/extensions/no-debug-non-zts-20060613/"如果没有就添加上
  再添加一条:
  extension=mysqli.so
  保存。
  重启 php。可以看到 mysqli 已经安装完成了。

predis包和phpredis扩展的区别是什么: predis,是PHP版本写的redis client,采用socket连接
php extension redis是PHP原生扩展,C写的
由于没有进行过大数据压测,不能准确告诉你性能差异。但基本上扩展redis肯定比predis更好。
Laravel推荐用predis,主要是当心一些主机没有支持redis吧。尽量少依赖C扩展,这样才能发挥PHP普及众生的思想。

centos7上面怎么给php添加pdo扩展: 你下载和你PHP安装包,ext目录下对应的扩展进行编译安装,php.ini不引入路径应该没事。

下面这个是我编译redis扩展的方法,不用引入路径。

tar xzf redis-3.1.3RC2.tgz [root@c2 ~]# cd redis-3.1.3RC2 [root@c2 redis-3.1.3RC2]# /usr/local/php/bin/phpize Configuring for: PHP Api Version: 20131106 Zend Module Api No: 20131226 Zend Extension Api No: 220131226 [root@c2 redis-3.1.3RC2]# ./configure --with-php-config=/usr/local/php/bin/php-config make make install /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/ vi /usr/local/php/etc/php.ini extension=redis.so你可以去后盾人上面看看吧!里面有很多关于这类php之类的教学视频哦⊙∀⊙!⊙∀⊙!⊙∀⊙!⊙∀⊙!

windows下php7怎么装扩展imagick: 安装php_imagick扩展,它只是一个扩展,相当于一个api,更多还是还需要依赖ImageMagick主程序的支撑,所以我们首先还是得要安装ImageMagick程序。
下载的方法和过程,在这里写的很完整,按照这个步骤进行一般都很顺利安装完成。

PHP安装pdo扩展 错误: 只需要看error的信息就行。这是的报的是mysql版本吧,应该是mysql版本太低了,最低要4.1的版本

  • 蹦迪神曲有哪些

    3月17日6200港币等于多少人民币: 特易贷解答团:3月17日港币兑人民币 1港币=0.7919 元人民币6200港币= 4909.78元人民币 ...

    997条评论 4804人喜欢 6308次阅读 452人点赞
  • 五毒哪里刷怪

    斯柯达明锐南京地区手动挡和自动挡的报价分别是多少?配置怎样: 上汽车网,把地区换成南京,找到明锐就可以看到配置及报价了,图片也有,还可以对比 ...

    308条评论 4528人喜欢 3728次阅读 295人点赞
  • dnf奶妈带什么戒指

    在一个星球上的人用一种特别的算法计算年龄地球上15岁的人在那里认为是17岁,: ...

    885条评论 5137人喜欢 3822次阅读 342人点赞
  • 11天绝食能瘦多少斤

    小型汽车年检逾期多久还能年检: 你好,小车逾期3年之内可以补检。脱审半年以内罚款100元、不扣分;脱审6个月到三年的罚款200元、扣三分;脱审三年以上的不予办理补审业务,只办理户籍注销业务。 ...

    598条评论 5423人喜欢 3728次阅读 613人点赞
  • 175在哪组队

    下午18:30是什么时辰: 十二生肖与12时辰对照表,【子时】(23时至01时)夜半,又名子夜、中夜:十二时辰的第一个时辰.【丑时】(01时至03时)鸡鸣,又名荒鸡:十二时辰的第二个时辰。【寅时】(03时至05时)平旦,又称黎明、早晨、时是夜与...

    319条评论 1093人喜欢 6247次阅读 469人点赞
  • d女郎代理多少钱

    09年明锐1.8t自动挡发电机多少钱: 你好,09款明锐1.8t车型发电机价格在一千五百多块钱左右,地区不同价格可能会有所不同,希望可以帮到你,祝您用车愉快【汽车有问题,问汽车大师。4S店专业技师,10分钟解决。】 ...

    411条评论 5775人喜欢 2606次阅读 764人点赞