【imooc】PHP实现手机归属地查询

1. 项目框架结构

  • index.html 访问入口文件(view层)
  • api.php处理入口请求、返回响应数据、前期数据调试(control层)
  • app/ 具体业务处理模块(module层存数据)
  • libs/ 扩展库(与业务层没有直接关系、公共调用、请求数据和响应数据)
  • static/ 静态文件(存放css、js等静态文件)

2. PHPStorm设置使用内置server

2.1 PHP5.6 Interpreter

先在setting里配xampp里的PHP5.6和Xdebug,Xdebug需要手动设置路径。
这样就会在localhost:64332端口显示网页页面。
修改其他端口的地方:


【imooc】PHP实现手机归属地查询_第1张图片
页面的64332端口如何修改为其他端口

这里是为了与local_web_server的端口(8090)不同,故设置为8091


【imooc】PHP实现手机归属地查询_第2张图片
修改页面显示的端口为8091
2.2 配置build-in webserver

菜单栏,run-edit configuration,看到有个+号,增加一个PHP build-in web server,下图是我的配置


【imooc】PHP实现手机归属地查询_第3张图片
配置build-in webserver 1

【imooc】PHP实现手机归属地查询_第4张图片
配置build-in webserver 2

参考链接:http://www.cnblogs.com/duanweishi/p/6113357.html

3. 配置本机的redis

3.1 redis安装

下载地址:https://github.com/MSOpenTech/redis/releases
用以下命令启动:

【imooc】PHP实现手机归属地查询_第5张图片
redis启动

修改环境变量(增加:E:/redis;)之后可以redis-server命令直接启动
【imooc】PHP实现手机归属地查询_第6张图片
直接启动redis

参考链接:http://blog.csdn.net/erlian1992/article/details/54382443

3.2 PHP的redis组件安装

在wampserver中,默认是没有提供redis扩展的,需要自己下载。

首先在php中运行phpinfo(),

查看自己的版本,然后下载合适的版本,最主要的是下面的这三条数据:
php version : 5.5.12
Architecture : x64
PHP Extension Build : API20121212,TS,VC11

redis扩展是有两个文件的: php_igbinary.dllphp_redis.dll

  • php_igbinary.dll的下载地址:http://windows.php.net/downloads/pecl/releases/igbinary/2.0.1
  • php_redis.dll的下载地址:
    http://windows.php.net/downloads/pecl/releases/redis/2.2.7
    在下载php_igbinary和php_redis压缩包后,将里面的php_igbinary.dll和php_redis.dll放置到wampserver\wamp\bin\php\php5.5.12\ext中。
    同时,在文件wampserver\wamp\bin\php\php5.5.12\php.ini中,我试了下我的wamp需要在
    中的PHP菜单中添加,如果直接在文件中添加则设置无效
    添加上:
;redis
extension=php_igbinary.dll
extension=php_redis.dll
3.3 redis的测试

在PHPinfo页面中,包含redis这个扩展


PHPinfo

再新建一个redistest.php

connect('127.0.0.1', 6379);
    $count = $redis->exists('count') ? $redis->get('count') : 1;
    echo $count;
    $redis->set('count', ++$count);

可以看到浏览器页面中,有数字会递增

参考链接:
https://www.xiabingbao.com/php/2017/08/27/window-php-redis.html
https://www.awaimai.com/1861.html

3.4 重新配置server run起来的方式

按道理来说配完3.3之后,redistest.php就可以正常在浏览器中localhost:8090/phoneLocator/redistest.php看到了,但是,显示说Fatal error: Class 'Redis' not found in xxx。这显然是Redis没有正常加载。那么,怎么办呢?查看phpinfo,
【imooc】PHP实现手机归属地查询_第7张图片
确保这里有redis的extension
  • 首先,要确保这里有redis的extension。
  • 在run configuration里把PHP build-in web server修改成PHP web page
    【imooc】PHP实现手机归属地查询_第8张图片
    修改run的方式
  • 在菜单栏中Tools->Deployment->Configuration中配置 WAMPserver的信息

    【imooc】PHP实现手机归属地查询_第9张图片
    Deployment配置1
    【imooc】PHP实现手机归属地查询_第10张图片
    Deployment配置2
    【imooc】PHP实现手机归属地查询_第11张图片
    Deployment配置3
  • 设置自动上传到服务器
    【imooc】PHP实现手机归属地查询_第12张图片
    设置自动上传到服务器

参考链接:https://blog.nssimacer.tech/post/cf3cd3c1/

4. 继续跟着视频走(第3-4个视频)

4.1 查看数据库中的数据,并清空数据库
【imooc】PHP实现手机归属地查询_第13张图片
数据库命令行操作

【imooc】PHP实现手机归属地查询_第14张图片
image.png
4.2 修改网页页面编码

防止页面编码是乱码,需要安装chrome插件:Set Character Encoding
https://chrome.google.com/webstore/detail/set-character-encoding/bpojelgakakmcfmjfilgdlmhefphglae

5. 要开启redis-server才能查找成功

不然只会alert说请求异常。

你可能感兴趣的:(【imooc】PHP实现手机归属地查询)