宝塔面板安装Apache和PHP并配置pathinfo

简介

现在几乎所有的PHP框架都需要使用pathinfo来读取url信息。

安装宝塔面板

通过宝塔安装PHP7.4

PHP开启pathinfo

cgi.fix_pathinfo = 1

也可直接在面板中开启:

配置后已支持使用/index.php/foo/bar来访问了。

省略index.php

为了让URL更好看,可以省略URL路径中的index.php
打开目录下的.htaccss文件,添加如下伪静态规则:

<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L,E=PATH_INFO:/$1]
</IfModule>

修改后,$_SERVER中将包含REDIRECT_PATH_INFO变量,可以使用该变量来替代$_SERVER['PATH_INFO']
例如可以在入口文件第一行加入:

if($_SERVER['REDIRECT_PATH_INFO']) $_SERVER['PATH_INFO'] = $_SERVER['REDIRECT_PATH_INFO'];

配置后已支持使用/foo/bar访问。

指定目录使用php5版本

有些时候我们希望在指定的目录中使用PHP5的版本来访问。先通过宝塔安装PHP5.6版本。打开D:\BtSoft\apache\conf\php\74.conf,复制其中的内容,然后在指定目录中添加.htaccss文件:,内容如下:

<Files ~ "\.php$">
        Options FollowSymLinks ExecCGI
        AddHandler fcgid-script .php
        FcgidWrapper "D:/BtSoft/php/56/php-cgi.exe" .php
        AcceptPathInfo On
</Files>

这样访问该目录下的文件将使用php5.6版本

发表评论

邮箱地址不会被公开。 必填项已用*标注