Previous title: Can't install extensions: Error: Archive does not exist
I removed and reinstalled Joomla 3.3.6 on my CentOS 6.5 server. Wanted to install some backup utilities and a CCK. However i'm stuck trying to install extensions getting errors like:
Error
Archive does not exist
Warning
JFolder: :files: Path is not a folder. Path: /var/www/html/jrt/install_54b9d8947a105
JFolder: :folder: Path is not a folder. Path: /var/www/html/jrt/install_54b9d8947a105
JFolder: :files: Path is not a folder. Path: /var/www/html/jrt/install_54b9d8947a105
JInstaller: :Install: Cannot find Joomla XML setup file
This screams permission error but this is the permission on the jrt(tmp) folder
drwxr-xr-x. 2 root root 4096 Jan 16 22:32 jrt
Most of the suggestions for this are to set it to 777 but I should think that to be a bad practice and it does not work anyway. I am used to NTFS permissions and I think I need to set the permissions on the children of this folder but its contents are empty to there is nothing to change?
I've seen this sad story a few times on the web and its path or permissions related. I know the path exists as if I delete the folder I also get the error
JFolder: :folder: Path is not a folder. Path: /var/www/html/jrt
I don't know if there is more to testing this but PHP Handler also came up in research and since I did update PHP so that I could run this version of Joomla perhaps it is also a culprit. To test I created a small php file
<?php
print "hello world";
?>
To see if it would display "hello world" which indeed it did.
PHP ini
An answer asked me to change to PHP.ini settings. Here is what I changed from the defaults. Making changes here does not rectify the errors.
upload_max_filesize = 10M
post_max_size = 11M
max_input_time = 300
max_execution_time = 120
default_socket_timeout = 120
Permissions
After checking the correct part of the admin console System > System Information > Directory Permissions not a single entry here is listed as writable. Do I need to edit each folder tree? Again I don't think that setting 777 on these folders is a good idea ( or work ). For example it list my temp folder as unwritable but it looks like the correct permissions above.
I tried also to change the group owner on the html root folder so now all folders and files have apache as a group. No change so far.
Apache errors
This is what I get when I try to install an extension
[Sat Jan 17 19:24:02 2015] [error] [client 123.123.123.123] PHP Warning: file_put_contents(/var/www/html/jrt/plg_webinstaller_3.2v1.0.5.zip): failed to open stream: Permission denied in /var/www/html/libraries/joomla/filesystem/file.php on line 431, referer: http://mywebsite.ca/administrator/index.php?option=com_installer
[Sat Jan 17 19:24:02 2015] [error] [client 123.123.123.123] PHP Warning: array_merge(): Argument #1 is not an array in /var/www/html/libraries/cms/installer/helper.php on line 154, referer: http://mywebsite.ca/administrator/index.php?option=com_installer
[Sat Jan 17 19:24:02 2015] [error] [client 123.123.123.123] PHP Warning: Invalid argument supplied for foreach() in /var/www/html/libraries/cms/installer/helper.php on line 207, referer: http://mywebsite.ca/administrator/index.php?option=com_installer
[Sat Jan 17 20:39:06 2015] [error] [client 123.123.123.123] PHP Warning: file_put_contents(/var/www/html/jrt/plg_webinstaller_3.2v1.0.5.zip): failed to open stream: Permission denied in /var/www/html/libraries/joomla/filesystem/file.php on line 431, referer: http://mywebsite.ca/administrator/index.php?option=com_installer
[Sat Jan 17 20:39:06 2015] [error] [client 123.123.123.123] PHP Warning: array_merge(): Argument #1 is not an array in /var/www/html/libraries/cms/installer/helper.php on line 154, referer: http://mywebsite.ca/administrator/index.php?option=com_installer
[Sat Jan 17 20:39:06 2015] [error] [client 123.123.123.123] PHP Warning: Invalid argument supplied for foreach() in /var/www/html/libraries/cms/installer/helper.php on line 207, referer: http://mywebsite.ca/administrator/index.php?option=com_installer