【问题标题】:codeigniter htaccess php instructions not workingcodeigniter htaccess php指令不起作用
【发布时间】:2019-03-07 12:08:36
【问题描述】:

在我的 php.ini 中,我已禁用全局文件上传:

file_uploads = Off

我尝试仅为我的 codeigniter 站点启用文件上传。所以我在 .htaccess 文件中添加了以下内容:

php_flag file_uploads 1

我确保AllowOverrideapache config file 中设置如下:

<Directory /var/www/my_codeigniter_app/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

但是文件上传不起作用。它仅在我启用全局文件上传时才有效。

【问题讨论】:

  • 你在哪里写信?有任何 apache 错误日志可以查看吗?
  • 您需要在项目的根文件夹中添加php.ini。并且需要通过rootphp.ini开启文件上传。
  • 如果 PHP 作为 Apache 模块运行,您只能从 .htaccess 中更改 PHP 设置。
  • @Stuart apache 错误日志文件为空,因为没有错误。问题是 file_uploads 设置被忽略了。
  • “如果你读了我的 OP,你就不会这么说”——我为什么不呢?从 .htaccess 中更改设置不正是您遇到的问题吗?这只有在您将 PHP 作为 Apache 模块运行时才有可能。您的帖子中究竟有什么告诉我情况是这样的?

标签: php apache .htaccess codeigniter


【解决方案1】:

您不能通过.htaccess 设置file_uploads 指令。

根据the manualfile_uploadsPHP_INI_SYSTEM 类型设置。也就是说你只能设置via php.ini and httpd.conf

要仅为您的 CodeIgniter 站点启用它,您可以使用 php_admin_value 而不是 php_value 在 VirtualHost 配置中设置指令,因为 php_value can only set PHP_INI_ALLPHP_INI_PERDIR 级别设置:

<VirtualHost *:80>
    DocumentRoot /var/www/my_codeigniter_app
    # [...] all your other settings

    php_admin_value file_uploads 1
</VirtualHost>

如果您的 CodeIgniter 站点没有 VirtualHost 配置,您可能也可以在 Apache 配置的 &lt;Directory&gt; 部分中设置它(同样,使用 php_admin_value) ,虽然我自己没有尝试过,所以我不能 100% 确定它会起作用:

<Directory /var/www/my_codeigniter_app/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
    php_admin_value file_uploads 1
</Directory>

【讨论】:

    猜你喜欢
    • 2017-11-27
    • 2014-09-03
    • 2014-12-23
    • 1970-01-01
    • 2018-08-07
    • 2015-04-25
    • 2021-03-25
    • 1970-01-01
    相关资源
    最近更新 更多