0%

Web实验2碰到的问题

今日做web实验2,要求很简单,使用php接受html数据而已;但是完成过程中踩了不少坑,特此记录下来。

[Problems]

  1. Apache配置php7错误;
  2. phpstorm提交相关表单,出现 502 bad gateway;
  3. phpstorm提交相关表单,出现 404 not found;
  4. phpstorm提交相关表单,直接显示php源码,未解析;

[Cause]

  1. Apache的httpd.conf配置文件出错;
  2. 运行的php文件需要放在apache的网站根目录下,如果运行不在该目录下的文件就会显示502 bad gateway;
  3. 其次在运行相关表单提交或者php页面跳转时会提示404 not found,即找不到服务器。这是因为phpstorm的页面默认在localhost:63342端口下运行,而我们的apache服务器一般默认为80端口,所以在提交表单到服务器时它会找不到相关php程序,尽管你的路径是正确的,因此需要配置phpstorm的服务器环境;
  4. 网上查了许久,各种纷杂的原因,我都折腾了一遍,均未解决;以至于最后我解决了404、502的问题后,莫名其妙的可以解析了,所以我也不清楚原因;

[Solutions]

  1. 打开terminal,如下操作:

    1
    2
    3
    4
    5
    6
    cd /etc/apache2
    #open httpd.conf
    sudo vim httpd.conf
    #然后找到LoadModule php7_module···这条语句
    #将其修改为你系统内的libphp7.so的路径,我使用了自带的,所以便只是将改语句句首的 # 号去掉,变为:
    LoadModule php7_module libexec/apache2/libphp7.so
  2. 将文件移动到Apache根目录下即可;

  3. 配置phpstorm:

    preferences -> Build,Excution,Deployment -> Deployment ,选择左上角绿色的“+”按钮新建,起个名字,type选择inplace(本地调试的意思),然后设置web sever root url为:http://localhost

    如图:

    配置phpstorm-deployment

    然后在mappings标签页下填写localpath,即你的apache网站根目录,如图:

    配置phpstorm-deployment-mapping

  4. 网上查找的几个点如:修改/etc/php.ini.defaultphp.ini、将php.ini中的short_open_tag = Off改为short_open_tag = On,再重启Apache(sudo apachectl restart)……


------ 本文结束 ------