一、linux服务器上安装LAMP环境后,如果本地项目运行正常,放在线上异常的话,正常都是配置问题
伪静态问题
配置.htaccess文件
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]
</IfModule>
或者:RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
二、 没有域名情况下,ip+不同端口设置不同项目
三、使用Navicat Premium远程连接数据库
a.服务器放行3306端口
b.Navicat Premium上修改为ip地址,账号密码填写数据库的账号密码
c.点击测试连接查看连接状态
注:如果测试连接提示错误ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server,说明用户权限问题,请执行以下操作
d.关闭数据库:/etc/init.d/mysqld stop 或者service mysqld stop
e.使用mysql安全模式进入数据库
进入mysql安装目录bin/
使用命令进入安全模式:./mysqld_safe --skip-grant-tables
克隆窗口,进入mysql:mysql -u root
use mysql
查看是否有host为%的root账号:select Host,User from user;
一般来说是不存在的,所以添加或者修改一条(修改的话一定要注意php程序中连接配置的host要存在)
update user set host = '%' where user ='root' and host='xxx';
刷新权限:FLUSH PRIVILEGES;//这条很重要,必须执行才生效
f.重启mysql:/etc/init.d/mysqld restart 或者service mysqld restart
此时再点击Navicat Premium的测试连接看看
注:如果提示错误Access denied for user 'root'@'localhost'(using password: YES),说明用户密码错误,如果忘记密码的情况也按照以上步骤执行到use mysql
g.修改root密码
update user set password=PASSWORD("你的密码") where User = 'root';
之后同以上步骤一样