.htaccess的内容是:
php_value upload_max_filesize 64M
适用于localhost,搞砸了我上传到的每个托管服务器。 error.log说:无效的命令'php_value',可能拼写错误或由服务器配置中未包含的模块定义
还有其他方法可以更改upload_max_filesize吗?
答案 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