网站迁移上阿里405 method not allow

733 views次阅读
没有评论

今天将之前虚拟机上跑的一个小博客迁移上了阿里云,由于忘记了之前的环境配置,导致了迁移过程中遇到了一系列问题

问题还原

迁移完成后,评论系统遇到了不能评论的问题

网站迁移上阿里405

点击提交评论后:

网站迁移上阿里405

评论提交失败,通过网页F12分析查看发现,有一个405错误

网站迁移上阿里405

排错过程

1、首先检查了该文件的权限及目录等,均无问题

网站迁移上阿里405

2、关闭ajax评论

网站迁移上阿里405

重新提交评论后,页面直接跳转500错误

网站迁移上阿里405

从这个大概可能,直觉告诉我,可能是PHP的问题了

3、打开WordPress调试模式,再次模式评论

WordPress根目录下的wp-config.php,将DEBUG项的false改为true

网站迁移上阿里405

此时刷新留言板页面,会显示详细的调试信息

网站迁移上阿里405

提交评论,如下图,看到这个已经确定问题找到了,就是/var/lib/php/session没有创建,导致不可写

网站迁移上阿里405

知道问题了,解决就很简单了,创建该目录,然后给予权限即可

网站迁移上阿里405

再次测试

网站迁移上阿里405

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文件是很有帮助的。(注:目录需要自己手工创建)

Honest1y
版权声明:本站原创文章,由Honest1y于2017年10月16日发表,共计3312字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)