.htaccess php_值auto_prepend_文件出错500。我怎样才能解决这个问题?

.htaccess php_值auto_prepend_文件出错500。我怎样才能解决这个问题?,.htaccess,php,.htaccess,Php,我的.htaccess如下所示: Options +FollowSymLinks RewriteEngine On RewriteBase /school RewriteRule ^([a-zA-Z0-9]+)/$ index.php?page=$1 RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1 php_value auto_prepend_file ./inc/library.php ErrorDocument 404 /school/ind

我的.htaccess如下所示:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /school
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1

php_value auto_prepend_file ./inc/library.php

ErrorDocument 404 /school/index.php?page=404

/
中,我读到了指示相对路径的信息。

注意:此信息几乎是逐字记录的,我认为它很好地解释了问题,我高度怀疑这就是问题所在:


在.htaccess文件中使用php_标志或php_值 一些PHP脚本建议在.htaccess文件中使用“PHP_value”或“PHP_flag”命令,如下例所示:

php_value  include_path         ".:/usr/local/lib/php" 
php_flag   display_errors       Off
php_value  upload_max_filesize  2M
php_value  auto_prepend_file    "./inc/library.php"
但是,有些服务器在“CGI模式”(不是作为Apache模块)下运行PHP,因此不能在.htaccess文件中使用“PHP_value”或“PHP_flag”命令。如果您尝试这样做,您将看到一条“内部服务器错误”消息

不过,您可以修改php.ini文件以获得相同的效果。事实上,修改php.ini实际上比使用php_值或php_标志更灵活:使用.htaccess文件无法覆盖许多内容,但可以覆盖php.ini文件中的几乎任何php设置

要获得与上述.htaccess行相同的效果,只需将这些行添加到自定义php.ini文件中:

include_path = ".:/usr/local/lib/php" 
display_errors = Off
upload_max_filesize = 2M
auto_prepend_file = "./inc/library.php"

注意:有些系统需要在路径周围加引号,有些系统不能加引号。

如果希望在.htaccess文件中使用
PHP\u值
,则可以使用PHP模块,将PHP作为CGI/FastCGI应用程序运行。

//code>表示“相对于当前工作目录的路径”。你确定文件在那里,它应该在哪里?尝试一条绝对路径。还要确保文件本身不会产生任何错误。我想我是cgi,但我可以在任何目录中创建php.ini吗?在这种情况下,它与
php.ini
无关。但是不,你不能:口译员不会找的;)我是cgi,所以我不能使用ht访问。。。我需要设置php.ini变量,但我没有访问php.ini的权限,对吧,CGI^^^如果您通过
php fpm
使用
FastCGI
(如果不是这样的话,您一定要考虑),您可以在池设置中设置值,也可以从Apache内部将值传递给FastCGI,但不知道如何,我使用Nginx(参见同一页上的示例)。这也适用于常规CGI SAPI,但如果我不能直接访问php.ini,我真的建议使用FastCGIWhat?创建自己的名为
php.ini
的文件,并将其放在项目的根目录中(请注意,如果您使用共享主机,它可能不起作用)。我知道您可能会意识到这一点,但使用一个简单的
require./inc/library.php”可能会更好地解决这个特定问题在PHP脚本中。几乎所有的PHP应用程序都包含每个请求的通用文件,我不推荐使用htaccess或PHP.ini。我想如果我这样做可能会更有效率。您担心的是已经很有效的东西的效率,不要继续这样的编程生涯!担心组织和干净的代码,不要寻找没有的瓶颈。我的意思是干净。但我想我还是会坚持。如果你愿意,你可以做一个回答,纠正我想这样做的错误,并建议我使用includes,列出我不想使用这种方法的原因。我一定会给你最好的答案。