zoukankan      html  css  js  c++  java
  • php开启PATH_INFO的方法

    php开启PATH_INFO的方法

    Apache开启教程:http://blog.csdn.net/zhaojindong33/article/details/68067079

    pache2.2.22开启PathInfo模式的支持

    昨天新配置了一个PHP集成开发环境,安装完后,把项目放到Apache服务器的www目录下,发现只能打开首页,其他页面全部无法打开,当时比较纳闷,以为是服务器没有配置好,测试了一下,发现环境配置没有问题。于是我想,该项目是采用ThinkPHP框架开发的,在配置文件中设置的是PathInfof访问模式,会不会是这个问题呢?于是我采用传统的URL参数模式尝试进行访问,发现没有问题。于是,很明显,真相只有一个,当前的服务器并不支持PathInfof模式访问。既然知道问题出在哪里,那么,接下来就好办了。
    找度娘问了一下,大体说的都是Apache2在默认情况下没有开启PathInfof模式,需要自行开启,并给出了如下三种解决方法:
    一:
    在PHP安装文件夹下找到PHP.INI,

    ;cgi.fix_pathinfo=1
    改为
    cgi.fix_pathinfo = On
    保存,重启服务器即可
    也有的说将
    ;cgi.fix_pathinfo=1
    之前的;去掉,即改为
    cgi.fix_pathinfo=1
    保存,重启服务器的。
    但是我的尝试发现,这样并不能解决问题,于是决定采用第二种方法;

    二:
    打开Apache安装文件夹下的conf文件夹,找到httpd.conf文件中找到下面这段代码
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    AcceptPathInfo On //加入这行代码就OK了
    不幸的是,按照上面的方法,还是失败了。木办法,只能试下第三种方法了;
    三:
    在配置文件中加入
    AcceptPathInfo On
    这样 Apache 就可以支持针对 php 文件的 PathInfo 了。
    于是,小柒又充满希望的试了一下,可惜,还是没有成功。
    我想,这PathInfo跟URL有关,那会不会是因为Apache服务器没有开启mod_rewrite模块的关系呢?于是,我在Apache的配置文件(Apache安装目录的conf文件夹下的httpd.conf文件)里找到:

    LoadModule rewrite_module modules/mod_rewrite.so

    将前面的#去掉,改为:
    LoadModule rewrite_module modules/mod_rewrite.so
    保存,重启服务器后,项目终于可以使用PathInfo模式访问了。


    Nginx开启教程:https://blog.linuxeye.cn/347.html

  • 相关阅读:
    Codeforces 868A Bark to Unlock
    poj 3744 Scout (Another) YYF I
    Codeforces 526F Pudding Monsters
    Codeforces 789D Weird journey
    Codeforces 827E Rusty String
    Codeforces 841D Leha and another game about graph
    bzoj 3560 DZY Loves Math V
    Codeforces 833A The Meaningless Game
    Codeforces 839D Winter is here
    Codeforces 839C Journey
  • 原文地址:https://www.cnblogs.com/it-tsz/p/14288666.html
Copyright © 2011-2022 走看看