.htaccess产生500内部服务器错误

时间:2011-04-02 12:29:30

标签: apache

.htaccess的内容是:

php_value upload_max_filesize 64M

适用于localhost,搞砸了我上传到的每个托管服务器。 error.log说:无效的命令'php_value',可能拼写错误或由服务器配置中未包含的模块定义

还有其他方法可以更改upload_max_filesize吗?

5 个答案:

答案 0 :(得分:9)

如果php_value未被识别为有效命令,则可能是因为PHP未安装为Apache模块。创建一个包含以下内容的php文件:

<?php phpinfo();

运行该文件以显示您的PHP配置。在页面(Ctr + F)中搜索&#34; mod_php&#34;。如果您无法在任何地方找到它,这可以解释您的问题。

如果您有权访问php.ini,则可以通过编辑该文件来解决问题。在phpinfo页面上,查看Loaded Configuration File下的值,了解要编辑的文件的位置。在Linux上,它将是/usr/local/lib/php.ini

之类的东西

打开ini文件(它只是一个文本文件),然后查找要更改的设置。如果它不存在,只需添加一行并根据需要进行设置:upload_max_filesize=64M

保存文件并重新启动Apache服务器。

答案 1 :(得分:5)

如果您不想删除for a in xrange(60, 0, -1): out = "sleeping for {} seconds..\r".format(a) sys.stdout.write(out) sys.stdout.flush() time.sleep(1) print "Done" 中的php_flag命令但想避免错误,请按以下步骤包装命令:

.htaccess

如果您使用的是PHP7,请使用<IfModule mod_php5.c> php_flag display_errors 0 php_flag display_startup_errors 0 </IfModule>

答案 2 :(得分:2)

对于其他具有相同问题并可以访问服务器的读者,这也可能是由于PHP作为Apache模块的配置错误而引起的。您可以修复该问题,以重新安装模块(或在libphp.so中自行配置到php.ini的路由)。

请记住, purge 将删除软件包的配置,通常无需担心,但是会警告您,以防万一。

sudo apt-get purge libapache2-mod-php libapache2-mod-php7.2
sudo apt-get install libapache2-mod-php

答案 3 :(得分:1)

问题是托管服务提供商,他们只允许通过php.ini

进行更改

答案 4 :(得分:0)

好像没有加载php模块。确保它已安装

sudo apt-get install libapache2-mod-php

并检查它是否在apache中启用

ll /etc/apache2/mods-enabled/*php*

如果已安装但未启用,请启用它(取决于您的 php 版本)例如用于 PHP 8.0 与

sudo a2enmod php8.0.load

并重启apache

sudo apache2ctl graceful