In my php.ini I have disabled file upload globally:
file_uploads = Off
And i tried to enable file upload for my codeigniter site only. So i added to the .htaccess file the following:
php_flag file_uploads 1
And I made sure that AllowOverride
is setup as follow in the apache config file
:
<Directory /var/www/my_codeigniter_app/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
However file upload is not working. It only works, when I enable file upload globally.
You cannot set the file_uploads
directive via .htaccess
.
According to the manual, file_uploads
is a PHP_INI_SYSTEM
type setting. That means you can only set it via php.ini
and httpd.conf
.
To enable it only for your CodeIgniter site, you can set the directive in your VirtualHost configuration by using php_admin_value
instead of php_value
, since php_value
can only set PHP_INI_ALL
or PHP_INI_PERDIR
level settings:
<VirtualHost *:80>
DocumentRoot /var/www/my_codeigniter_app
# [...] all your other settings
php_admin_value file_uploads 1
</VirtualHost>
If you don't have a VirtualHost config for your CodeIgniter site, you might be able to also set it in the <Directory>
section of your Apache config (again, using php_admin_value
), although I haven't tried that myself so I'm not 100% sure that'll work:
<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>