Solved – phpList Temporary Directory for Uploading Is Not Writable

This 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, 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”