今天一个朋友将他 Windows 服务器上的一个PHP网站搬家到阿里云 Linux 服务器上,大部分页面正常,有一些接口出了问题。
经过排查,一部分问题是因为他的代码里忽略了文件名大小写的问题。
而另一个问题,是无法向数据库里插入数据。于是,我把那行 $sql 打印出来,然后放到 MySQL 命令行下执行,出现了标题中的报错。 Table‘xxx’is read only 于是,豁然开朗,没有权限,文件没有权限写入。
解决办法
1、给表赋予权限 他安装的宝塔面板,mysql 的数据文件在 /www/server/data/mysql 里面,所以只需要 chmod -R 777 /www/server/data/mysql 2、刷新表 对于宝塔面板是在进入 /www/server/mysql/bin,执行命令 mysqladmin -p flush-tables 然后OK啦,如果还是不行,可以尝试重启 MySQL
发现共鸣
Warning: curl_setopt() expects parameter 1 to be resource, null given in /www/wwwroot/blog.longshi.org/usr/themes/armx/functions.php on line 1531
如是说:哪有什么人生开挂,不过是坚持很久的厚积薄发。