存档

文章标签 ‘拓展’

ubuntu服务器安装php geoip拓展教程

2020年11月13日 评论已被关闭

我们可以安装php的geoip拓展来实现获取国家等ip地理信息,简单的说就是实现这个链接的函数功能:https://www.php.net/manual/en/book.geoip.php,如果没有安装拓展,这个链接上面函数的功能是不能使用的。

参考链接:
https://www.maxmind.com/en/home
https://www.miyuru.lk/geoiplegacy(这里可以下载到geoip的dat文件)
https://pecl.php.net/package/geoip
https://www.php.net/manual/en/geoip.setup.php
https://www.php.net/manual/en/book.geoip.php
https://db-ip.com/
https://db-ip.com/db/download/ip-to-city-lite
https://members.ip-api.com/#pricing
https://serverpilot.io/docs/how-to-install-the-php-geoip-extension/
https://blog.csdn.net/xpy870663266/article/details/94742491
https://valynkin.ru/maxmind-geoip2-na-ubuntu-1604-php56.html
https://blog.csdn.net/weixin_34245082/article/details/92028414

简单总结下ubuntu服务器安装php geoip拓展的过程吧
一开始我是在一台vps下操作,源是阿里云的源,装了php5.6,按照网上的搜索依次执行命令,发现遇到各种问题,上方的链接有的也是其中的解决办法,但是就是不行。后来换了一台服务器是官方源,sudo apt-get update之后,可以看到有php5.6-geoip拓展,输入sudo apt-get install php5.6-(按tab键可提示),这样的话就简单了(我怀疑是源的问题,没调试了)
可以看到apt-get里面的拓展,这样就方便了,不用自己编译安装,执行:
sudo apt-get install php5.6-geoip
执行完毕在/usr/share/GeoIP可以看到.dat文件和ipv6的dat文件
是执行完毕后,重启php5.6-fpm,发现问题了,discuz论坛无法回帖了,不过还好,我的需求是php7.4支持就可以了(我的服务器上是php5.6和php7.4共存的),所以我只需要执行:
sudo apt-get install php7.4-geoip
执行完毕后,重启php7.4-fpm,搞定

ubuntu服务器安装php geoip拓展教程就写到这里,只适合本人自己阅读,网友仅供参考(服务器环境有很大区别)

下面备注自动更新数据库的操作方法:
打开maxmind.com:登录后,个人中心:Services->My License Key
创建key之后,点击Download Config下载GeoIP.conf到/etc/GeoIP.conf
sudo apt-get install geoipupdate
安装好之后,需要更新的时候执行:geoipupdate -v
这样就可以自动更新了(可以定时任务执行)
参考:https://www.awaimai.com/2117.html

可以先执行php:var_dump(geoip_database_info());打印当前版本的信息,然后更新之后,再运行一次php,对比2次版本不同。

可是我们发现,/usr/share/GeoIp下面的.dat文件并没有更新,经过测试,从https://www.miyuru.lk/geoiplegacy下载最新的,然后执行:
sduo cd /usr/share/GeoIp/
sudo mkdir test
cd test
sudo wget https://dl.miyuru.lk/geoip/maxmind/city/maxmind4.dat.gz
sudo gunzip maxmind4.dat.gz
sudo wget https://dl.miyuru.lk/geoip/maxmind/city/maxmind6.dat.gz
sudo gunzip maxmind6.dat.gz
cd ../
sudo mv GeoIP.dat GeoIP.dat.bk
sudo mv GeoIPv6.dat GeoIPv6.dat.bk
sudo mv test/maxmind4.dat GeoIP.dat
sudo mv test/maxmind6.dat GeoIPv6.dat
sudo service php7.4-fpm restart
最后php执行:var_dump(geoip_database_info());似乎报错,所以就不折腾了,可能拓展安装的只有等拓展更新了才能更新数据库?有待验证

特别备注:获取ipv6的信息,要使用:
var_dump(geoip_country_code_by_name_v6(‘2601:8:be00:cf20:ca60:ff:fe09:35b5’));


分类: php学习, ubuntu高手 标签: , , , ,

windows下安装和卸载php的php_memcache.dll拓展

2015年8月10日 没有评论

下载memcached放入D盘memcached文件夹

memcached文件夹里有3个文件:

libgcc_s_sjlj-1.dll

memcached.exe

pthreadGC2.dll

安装后,如果是windows7+的系统,请进入c:\system32\

找到cmd.exe,右键,管理员运行:

d:\

cd memcache

memcache -d install

打开注册表:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached

在其中有一个“ImagePath”项,值为:
“D:\memcached\memcached.exe” -d runservice
在后面加上“-m 1024 -c 2048 -p 11211”

表示以后重启都声明1024M的内存,最大2048个连接数,端口为11211

【命令参数如下:】

-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助

—————————————————–

以上是第一步,就此安装成功了memcached服务。

接下来将php_memcache.dll复制到php安装目录的ext下

打开php.ini,在文件结尾加上:

[PHP_MEMCACHE]
extension=php_memcache.dll

重启apache,搞定所有安装过程。

—————————————————–

memcached服务文件和php_memcache.dll在file.my文件夹下有,每个php版本对应的php_memcache.dll不一样,有的时候apache启动不成功,最好都复制试试吧。

javascript检查上传文件是否符合指定格式拓展名,格式参数如:jpg|gif

2013年6月5日 没有评论

//检查上传文件是否符合指定格式拓展名,格式参数如:jpg|gif
function checkExt(value,allowExt){
len=value.lastIndexOf(“.”)+1;
type=value.substr(len);
type=type.toLowerCase();
allowExtArray=allowExt.toLowerCase().split(“|”);
for(i=0;i

分类: javascript知识库 标签: ,
css.php