流沙团
记录一次后台移植(thinkphp)
2018-2-28 流沙团


0x01 背景



项目开发:微信小程序



环境部署: 需要将app的后台代码移植到腾讯云的服务上,数据库还是在阿里云那边。 config.php 文件的'DB_HOST'   修改属性







0x02 允许mysql远程连接



1、改表法

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"



mysql -u root -p 

mysql>use mysql; 

mysql>update user set host = '%' where user = 'root'; 

mysql>select host, user from user;

2、授权法

在安装mysql的机器上运行:

1、d:\mysql\bin\>mysql -h localhost -u root

//这样应该可以进入MySQL服务器

2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION

//赋予任何主机访问数据的权限

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。



GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;



如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码



GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY

'mypassword' WITH GRANT OPTION;



3、mysql>FLUSH PRIVILEGES

//修改生效







0x03 遇到的问题(一)



连接MySQL错误:Can't connect to MySQL server (10060)



Ubuntu的数据库



分析为防火墙的原因







开放防火墙端口

添加需要监听的端口

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT



0x04 遇到的问题(二)



thinkphp的后台框架



只能显示首页,其他页面都报错



问题原因:nginx/1.10.2 不支持 thinkephp的虚拟路径方式



需求只是为了解决接口的问题: thinkphp的路径有





  1. http://serverName/appName/?s=/module/action/id/1/


这种兼容模式



全部替换了接口的路径







0x05 准备微信小程序的上线





















发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容