共计 762 个字符,预计需要花费 2 分钟才能阅读完成。
今天将之前虚拟机上跑的一个小博客迁移上了阿里云,由于忘记了之前的环境配置,导致了迁移过程中遇到了一系列问题
问题还原
迁移完成后,评论系统遇到了不能评论的问题
点击提交评论后:
评论提交失败,通过网页F12分析查看发现,有一个405错误
排错过程
1、首先检查了该文件的权限及目录等,均无问题
2、关闭ajax评论
重新提交评论后,页面直接跳转500错误
从这个大概可能,直觉告诉我,可能是PHP的问题了
3、打开WordPress调试模式,再次模式评论
WordPress根目录下的wp-config.php,将DEBUG项的false改为true
此时刷新留言板页面,会显示详细的调试信息
提交评论,如下图,看到这个已经确定问题找到了,就是/var/lib/php/session没有创建,导致不可写
知道问题了,解决就很简单了,创建该目录,然后给予权限即可
再次测试
session.save_handler = file 用于读取/回写session数据的方式,默认是files。它会让PHP的session管理函数使用指定的文本文件存储session数据。session.save_path = “/var/lib/php/session” 指定保存session文件的目录,可以指定到别的目录,但是指定目录必须要有httpd守护进程属主(比如apache或www等)写权限,否则无法回存session数据。当指定目录不存在时,php session环境初始化函数是不会帮你创建指定目录的,所以需要你手工建立指定目录。它还可以写成这样session.save_path = “N;/path” 其中N是整数。这样使得不是所有的session文件都保存在同一个目录中,而是分散在不同目录。这对于服务器处理大量session文件是很有帮助的。(注:目录需要自己手工创建)