Joomla Web Hosting CanadaJoomla 1.5, suPHP and File Permissions
They both do the same thing - provide an extra layer of security to PHP. (su = switch user, allowing one user to "switch" to another if authorised) PHPSuExec is no longer developed. We use suPHP. The main reason for using suPHP is added security, but it also makes Joomla more user friendly in terms of file permissions (not needing to set or change them). It is an Apache module that lets PHP scripts run as the owner of the script, instead of the web server. This isolates malicious or runaway scripts, avoiding unwanted or un-authorised scripts from running for a lengthy period of time. The homepage for suPHP is :
Under suPHP:
Files or directories that php scripts will write to no longer require 777 permissions. In fact, 777 permissions are no longer allowed. Having 777 permissions on your scripts or the directories they reside in will cause a "500 internal server error" when attempting to execute them, this is done to protect you from someone abusing your scripts. Your scripts and directories can now, only have a maximum of 755 permissions (read/write/execute by you, read/execute by everyone else). Joomla Changes File Permissions When Saving ( eg. configuration.php and params.ini ) Joomla changes file permissions after saving some files to make sure they are left in a secure state. configuration.php (sets to 444) and template params.ini (sets to 555) The message sometimes displayed about files not being writable is to let you know the file has secure permissions. It is not a call to action to change file permissions. Normally you will not need to do anything. If for some reason the message says the file is writable, it should change to unwritable after saving. The best way to check if settings are indeed being edited is to save and then re-open to confirm the new settings have been written. .htaccess directives now go in php.ini Under the old Apache Module mode it was possible to manipulate the PHP settings from within a ".htaccess" file placed in the script's top-level directory, this was also recursively applied to all other directories below it. For example this would turn on the php setting "magic_quotes_gpc" with this line in .htaccess: php_value magic_quotes_gpc on When PHP is running with suPHP, manipulating the PHP settings is still possible however you can no longer make use of a ".htaccess" file. Using .htaccess with the required PHP prefix of "php_value" will cause a "500 internal server error" when accessing the scripts. Php is no longer running as an Apache module, thus Apache is unable to handle .htaccess directives any longer. If your host has, or is, implementing suPHP, all "php_value" directives should be removed from .htaccess files to avoid the 500 internal server error. Instead, you will now be creating and using your own "Local php.ini" file to manipulate the desired php settings. What is a php.ini file? The php.ini file is a configuration file that the server looks at to see what PHP options have been made available to the server or what their setting are, if different from the server's default php.ini. While the name may seem advanced to those unfamiliar with it, it is in essence a simple text file with the name php.ini How to create a php.ini file To create a php.ini file, just open up a text editor, add in the lines you need and save the file. You can name the file whatever you wish when saving, to ensure the correct FTP transfer mode is used, you might wish to name it "php.ini.txt". Once you have configured all your settings, upload the file to the directory where your script is located and then rename it back to php.ini For example you can turn on the php setting "magic_quotes_gpc" with this line in php.ini: magic_quotes_gpc = on
Click here for Description of core php.ini directives Joomla Under suPHP: File permissions Trouble Shooting
![]() Best Canadian Web Host for Joomla Our Latest Joomla News |




