存档在 ‘【技术】’ 分类

怎样安装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

怎样配置WHMCS的域名查询

2018年9月28日

文档:https://preview.whmcs.com/
文档:https://www.whmcs.com/sell-domains/

演示:https://demo.whmcsadmintheme.com/

参考:https://docs.whmcs.com/WHOIS_Servers
参考:https://www.xtremerain.com/fix-whmcs-domain-checker-not-working/
参考:https://whmcs.community/topic/87549-domaincheckerphp-not-working/
参考:https://whmcs.community/topic/257149-domainchecker-is-not-working/
参考:http://help.whmcs.com/m/order_forms/l/691719-troubleshooting-domain-availability-problems

怎样使用GeoIP数据库确定地理位置

2018年9月27日

【介绍】

GeoIP,就是通过来访者的IP,定位经纬度,国家/地区,省市,甚至街道等位置信息。由 MaxMind.com 所维护,有商业版和免费版。

GeoLite 数据库是 MaxMind.com 提供的的免费数据库。数据库在每个月的第一个星期二更新。免费数据库的格式与收费数据库相同。任何可以读取GeoIP付费数据库的代码都可以读取免费数据库。

MaxMind.com 定期测试GeoIP2和GeoIP旧版数据库的准确性。在我们最近的测试中,这些数据库在国家层面上的准确率为99.8%,在美国州级层面上的准确率为90%,而美国城市半径50公里范围内的准确率为81%。

【下载】

下载:https://dev.maxmind.com/zh-hans/geoip/legacy/geolite/
下载:https://www.maxmind.com/zh/geoip2-services-and-databases

介绍:https://support.maxmind.com/zh-hans/
申请:https://www.maxmind.com/zh/process-service-trial-request
报价:https://wenku.baidu.com/view/5b2546ea370cba1aa8114431b90d6c85ec3a88c5.html

【应用】

应用:https://codecanyon.net/item/geo-locator-v01/138715
演示:https://geo.gksl.net/
对标:https://ipinfodb.com/

参考:http://wangjian84075041.blog.163.com/blog/static/186703380201251445730138/
参考:https://blog.csdn.net/hellochenlian/article/details/44257321
参考:https://sjolzy.cn/GeoIP-PHP-version-use.html

【自动更新脚本(1)】

参考:https://chaihongjun.me/os/linux/182.html

1. 创建文件 update_geoip.sh

#!/bin/bash
#判断是否存在存放GeoIP数据库的目录,没有则创建(实际目录路径请酌情处理)
if [ ! -d /usr/local/share/GeoIP ];then
    mkdir /usr/local/share/GeoIP
fi
#从官网下载免费的国际和城市数据库文件
wget -t 5 -O /tmp/GeoIP.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
wget -t 5 -O /tmp/GeoLiteCity.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
#解压压缩的数据库文件
gzip -df /tmp/GeoIP.dat.gz
gzip -df /tmp/GeoLiteCity.dat.gz
#移动数据库文件到存放的目的目录
mv -f /tmp/Geo*.dat /usr/local/share/GeoIP/

2. 可执行权限

chmod +x update_geoip.sh

3. 设定为每周更新一次

### update Geoip databases
0 0 * * 0 /root/update_geoip.sh

【自动更新脚本(2)】

参考:http://wangblog.org/2009/11/_geoip.html

FreeBSD 7.0-RELEASE-i386 + PHP5 + Apache2.2

cd /usr/ports/net/pecl-geoip && make install clean
apachectl restart
cd ~
fetch http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz
gunzip GeoIP.dat.gz
mv GeoIP.dat /usr/local/share/GeoIP/GeoIP.dat
fetch http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz
mv GeoLiteCity.dat /usr/local/share/GeoIP/GeoIPCity.dat
<?php
echo geoip_database_info(GEOIP_COUNTRY_EDITION);
$country = geoip_record_by_name('wangblog.org');
if($country){
	echo "\nThis host is located in: \n";
	print_r($country);
}
?>

定时更新IP地址库的cron程序:

cd ~
/usr/bin/fetch http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz
/usr/bin/gunzip GeoIP.dat.gz
mv GeoIP.dat /usr/local/share/GeoIP/GeoIP.dat
/usr/bin/fetch http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
/usr/bin/gunzip GeoLiteCity.dat.gz
mv GeoLiteCity.dat /usr/local/share/GeoIP/GeoIPCity.dat

以上保存为:update-ipdata-cron.sh

crontab -e

添加以下一行,每月5日0点10分运行:

10 0 5 * * /bin/csh /path/to/update-ipdata-cron.sh

【其他IP库】

HostIP.info IP Addresses Database

参考:http://www.hostip.info/dl/index

纯真IP数据库

参考:http://www.cz88.net/

由纯真网络维护,每5天更新一次,目前数据量在45万条。纯真网络提供一个.EXE安装文件(下载地址 http://update.cz88.net/soft/setup.zip ),下载到本地后安装,在安装目录中可以找到一个文件文件QQWry.Dat,它就是纯真IP数据库文件。

kayako-geoip-data

介绍:http://portaliz.net/threads/kayako-geoip-data.3190/
下载:https://mega.nz/#!V0IxkA6Z!hvQHF62n-a8ftAy9C3AaA4bCzlX7nW3MzDN4m8bMGhs

怎样获取最新数据呢?

It is easy to locate potentially newer versions by simply googling “kayako __swift/geoip” or “Index of /kayako/__swift/geoip”,
and you will find lists of other peoples servers with the geoip data that is downloadable.

https://www.google.com/?gws_rd=ssl#safe=strict&q=Index+of+%2Fkayako%2F__swift%2Fgeoip

报错:configure: error: Cannot find ldap libraries in /usr/lib

2018年9月26日

在编译PHP时开始configure配置。

configure 时如果报错:

configure: error: Cannot find ldap libraries in /usr/lib

提示在/usr/lib 下找不到相关模块,这是因为64位的linux默认把以上文件都存在 /usr/lib64 文件夹下。

cp -frp /usr/lib64/libldap* /usr/lib/

然后重新 configure 。

参考:http://www.111cn.net/sys/linux/44746.htm