2

OK, I have tried to install Joomla and WordPress on one of the hosted domains at my Godaddy's Linux Hosting. For the Joomla installation I was encountering an issue where the installation would not pass the Step 1 - Configuration page, and I was seeing three errors related to start_session(). In addition, on both CMSs I encountered an issue where when I try to upload and instal a theme or extension from my computer, it uploads the file and then throws an error about the cache limiter directory and temporary directory.

The first issue was solved when I found this YouTube video with a fancy php.ini file. But, I am still not able to upload and install extensions/themes. I believe it is because the various directories are not seen, or set. In my hosted domain root directory I added a file named .user.ini with the same php code as the one I got from the YouTube video link.

I can see that the set PHP is changing when I run the phpinfp(), but the upload_tmp_dir is still set to no value, even when it is set to upload_tmp_dir = "/tmp/". I tried with the quotes, without, with the backslashes, and without, with a . preceeding the backslashes and without - but it still stays at no value.

When I try to upload and install an extension on Joomla I get the following error:

Warning: File upload error - ubnable to create temporary file in Unknown on line 0

Warning: session_start() Cannot send session cache limiter - headers already set in /home/username/public_html/myFolder/libraries/joomla/session/session.php on line 658

Then, the page refreshes and I see the following error:

Error

There was an error uploading this file to the server. The PHP temporary directory is not set

Any suggestions as to what I am doing wrong?

UPDATE After over 6 calls to Godaddy's support, which all together were over 4 hours - they have blamed everything from me, to the .user.ini file, to Joomla, WordPress, and all-in-all no one knew what was going on or how to fix it. I had to reset the whole hosting account in order to make it work. All I know is that on Saturday one of Godaddy's supprot guys messed with the settings, did not document it, and the only way for me to fix it was to get rid of hours on hours of work.

  • You shouldn't need to edit the php.ini and the reason Joomla will have a hard time writing and reading is because you haven't set proper relative system paths. See my answer, I don't recommend editing the php.ini at all for such a common task, rename the php.ini to php.bak temporary while you look for other solutions. – Simon Hayter Oct 19 '14 at 17:20
2

Actual Server Path

This is a common problem associated with a lot of content management systems such as Joomla and WordPress that don't inform the site administrators that you are required to use actual server path and not that of the public_html or www folder.

Using /tmp/ will not use example.com/tmp/ but rather attempt to access the tmp in the root of the server which of course you do not have access unless www-data group has been added as a owner of this folder which no good web hosting will ever do.

Finding the Internal Directory Path

Cpanel and most other popular control panels have this information visible when logging in (cpanel details this formation on the left side when you expand the details). As far as I know GoDaddy allows SSH on some web packages and logging in should reveal your home folder. If GoDaddy allows getcwd() you will be able to simply upload a php file that will reveal this information. See below:

<html>
    <body>
       <div>Your current path is: <?php echo getcwd() . "\n"; ?></div>
    </body>
</html> 

Adding the Correct Path

Once you've found the right internal path of your log directory and tmp directory you should enter those details into your content management system. The folder should not having a ending slash / so example of this would be: /home/user/www/tmp.

Changing User Permissions

You will also need to ensure that the folders can be written to, this can be done in SSH, Your Control Panel, or FTP. Ensure you have set 755 or temporary use 777 if you must.

  • I did try "/tmp/", "/tmp", "./tmp/", "./tmp", "/home/UserName/public_html/DomainFolder/tmp", "/home/UserName/public_html/DomainFolder/tmp/", "./home/UserName/public_html/DomainFolder/tmp", "./home/UserName/public_html/DomainFolder/tmp/" With or without the quotes... It does not set it to nothing. I set the permissions to 777 and did try setting it in the htaccess file but all in vain – KingsInnerSoul Oct 19 '14 at 18:26
  • 1
    I added a short update to my question. Godaddy messed my settings, could not fix it, and I had to reset my hosting account. – KingsInnerSoul Oct 20 '14 at 2:11
  • Same just happened to one of my clients, godaddy... – Darius Aug 3 '17 at 23:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.