Solved - PhpList Temporary Directory For Uploading is Not Writeable
SOLVED – PHPLIST TEMPORARY DIRECTORY FOR UPLOADING IS NOT WRITABLE AUGUST 14, 2015 - Originally sent to subscribers of sheldonsblog.com newsletter.
This Article and Fix applies to Windows O/S running Apache webserver, MySql database, and PHP installed. (a WAMP server installation).
Within the admin area of PhpList, you might get the following error when you try to upload / import a CSV file containing email addresses and associated contact information:
Warning: The temporary directory for uploading () is not writable, so import will fail
I tried setting $tmpdir in the config.php file of PhpList, but this did not work.
Usually your 'upload_tmp_dir' is not set in the php.ini file (on a global basis) because it is disabled with a leading semi-colon at the beginning of the applicable line. This allows for setting the 'upload_tmp_dir' separately for each virtual host / domain hosted with Apache server.
On your web server, find your path to the httpd-vhosts.conf file (like here /configs/apache/ ) and open the httpd-vhosts.conf file with your favorite text editor, such as Notepad++ editor.
Find the virtual host configuration section for your particular # DOMAIN within which PhpList is hosted.
Under the area for
# Custom Global Settings (if any exist)
Using php_admin_value, insert the full windows path within the applicable virtual host / domain directory leading to your tmp upload directory for email address import using PhpList:
php_admin_value upload_tmp_dir “c:/hosted/username/public_html/domain_com/lists/tmp”
Ensure that the upload /tmp/ path is within your open_basedir restriction path which might be set in either your php.ini or httpd-vhosts.conf file. In the https-vhosts.conf file it would look like this:
php_admin_value open-basedir “c:/path_with_domain_root;c:/windows:c:/other_outside”