日志标签 ‘PHP扩展’

怎样安装PHP扩展:GeoIP模块

2018年11月6日

【下载】

把 GeoIP 安装成 PHP 扩展:

yum install GeoIP GeoIP-data GeoIP-devel

下载数据包并解压:

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gzip -d GeoLiteCity.dat.gz
mv GeoLiteCity.dat /var/lib/GeoIP/GeoIPCity.dat

下载 GeoIP 的 PECL 扩展:

下载:http://pecl.php.net/package/geoip

wget -c http://pecl.php.net/get/geoip-1.0.7.tgz
tar -zxvf geoip-1.0.7.tgz
cd geoip-1.0.7
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-geoip
make
make install

【设置】

在 php.ini 文件中添加:

; [GeoIP]
extension=geoip.so

然后重启Apache即可加载。

现在可以使用 PHP 手册里介绍的 GeoIP 部份函数。

【参考】

参考:https://sjolzy.cn/GeoIP-PHP-version-use.html

参考:http://php.net/manual/zh/book.geoip.php
参考:http://php.net/manual/zh/ref.geoip.php
参考:http://shouce.jb51.net/nginx/OptionalHTTPmodules/GeoIP.html

怎样安装PHP扩展:curl模块

2018年9月29日

参考:http://amon.org/curl

【下载】

下载PHP源码包并解压:

wget http://php.net/distributions/php-5.6.38.tar.xz && tar -xvf php-5.6.38.tar.xz && cd php-5.6.38
wget http://php.net/distributions/php-7.2.10.tar.xz && tar -xvf php-7.2.10.tar.xz && cd php-7.2.10

【安装】

进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择xmlrpc模块。

cd ext/curl

执行phpize生成编译文件:

/usr/local/php/bin/phpize
./configure -with-php-config=/usr/local/php/bin/php-config
make
make install

【设置】

输出(php-5.6.38):

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

在 php.ini 文件中添加:

; [curl]
extension = "/usr/local/php/lib/php/extensions/no-debug-zts-20131226/curl.so"

然后重启Apache即可加载。

输出(php-7.2.10):

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20170718/

在 php.ini 文件中添加:

; [curl]
extension = "/usr/local/php/lib/php/extensions/no-debug-zts-20170718/curl.so"

然后重启Apache即可加载。

如果报错:

PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) '/usr/local/php/lib/php/extensions/no-debug-zts-20170718/curl.so' in Unknown on line 0

参考:https://blog.csdn.net/bwlab/article/details/50112185
参考:https://blog.csdn.net/solio5/article/details/55797050
参考:http://www.cnblogs.com/xzysaber/p/6566132.html
参考:https://blog.csdn.net/dudu1225/article/details/6064363
参考:https://segmentfault.com/q/1010000000747344

在编译PHP时启用了此扩展(内置),但同时在php.ini文件中添加了。去掉或注释之后,重启php,警告消失。

【参考】

参考:https://bbs.csdn.net/topics/340269102
参考:https://timhbw.com/86.html
参考:https://www.awaimai.com/2120.html

怎样安装PHP扩展:imap模块

2018年9月29日

【下载】

下载PHP源码包并解压:

wget http://php.net/distributions/php-5.6.38.tar.xz && tar -xvf php-5.6.38.tar.xz && cd php-5.6.38
wget http://php.net/distributions/php-7.2.10.tar.xz && tar -xvf php-7.2.10.tar.xz && cd php-7.2.10

【安装】

进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择imap模块。

cd ext/imap

执行phpize生成编译文件:

/usr/local/php/bin/phpize
./configure -with-imap -with-php-config=/usr/local/php/bin/php-config --with-kerberos --with-imap-ssl
make
make install

如果报错:

checking for U8T_DECOMPOSE... no
configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missi                                                                                                                                                             ng. This should not happen. Check config.log for additional information.

参考:http://amon.org/php-compile-errors

yum install libc-client-devel

【设置】

输出(php-5.6.38):

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

输出(php-7.2.10):

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20170718/

在 php.ini 文件中添加:

; [imap]
extension = "imap.so"

然后重启Apache即可加载。

【参考】

参考:https://bbs.csdn.net/topics/340269102
参考:https://timhbw.com/86.html
参考:https://www.awaimai.com/2120.html

怎样安装PHP扩展:xmlrpc模块

2018年9月29日

【下载】

下载PHP源码包并解压:

wget http://php.net/distributions/php-5.6.38.tar.xz && tar -xvf php-5.6.38.tar.xz && cd php-5.6.38
wget http://php.net/distributions/php-7.2.10.tar.xz && tar -xvf php-7.2.10.tar.xz && cd php-7.2.10

【安装】

进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择xmlrpc模块。

cd ext/xmlrpc

执行phpize生成编译文件:

/usr/local/php/bin/phpize
./configure -with-php-config=/usr/local/php/bin/php-config
make
make install

【设置】

输出(php-5.6.38):

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

在 php.ini 文件中添加:

; [xmlrpc]
extension = "/usr/local/php/lib/php/extensions/no-debug-zts-20131226/xmlrpc.so"

然后重启Apache即可加载。

输出(php-7.2.10):

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20170718/

在 php.ini 文件中添加:

; [xmlrpc]
extension = "/usr/local/php/lib/php/extensions/no-debug-zts-20170718/xmlrpc.so"

然后重启Apache即可加载。

【参考】

参考:https://bbs.csdn.net/topics/340269102
参考:https://timhbw.com/86.html
参考:https://www.awaimai.com/2120.html

怎样安装PHP扩展:mysqli模块

2016年8月23日

当在Linux下使用低版本PHP,phpMyAdmin 报错:

缺少 mysqli 扩展,请检查 PHP 配置。

【下载】

参考:http://amon.org/php5217

下载PHP源码包并解压:

wget http://museum.php.net/php5/php-5.2.17.tar.gz && tar zxvf php-5.2.17.tar.gz

【安装】

进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择mysqli模块。

cd ext/mysqli

执行phpize生成编译文件:

/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config
make
make install

【设置】

输出(php-5.2.17):

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

在 php.ini 文件中添加:

; [mysqli]
extension_dir= /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
extension = "mysqli.so"

然后重启Apache即可加载。

【报错】

查看版本:

/usr/local/php/bin/php -v

报错:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/mysqli.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/mysqli.so: undefined symbol: client_errors in Unknown on line 0

参考:https://www.bt.cn/bbs/thread-9585-1-1.html

如果是mysql5.7的话是无法编译安装上php5.2的

那么得回到早先版本,比如试试5.6系列。

wget -c http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.42.tar.gz && tar -zxvf mysql-5.6.42.tar.gz && cd mysql-5.6.42
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make && make install

【参考】

参考:https://blog.csdn.net/l1028386804/article/details/50481892
参考:https://blog.csdn.net/kaizhu_Qin/article/details/17506217