PHP
- Overriding PHP Settings
- Getting PHP Info for your site
- PHP Syntax Check
- PHP get key and value in loop
- Learn PHP
- PHP Session Save Path
Overriding PHP Settings
There are a few ways to override global PHP (php.ini) settings with local settings. For example you can use a .htaccess file or local php.ini file depending on what options exist for your site hosting. If your site uses php-fpm you use a .user.ini file instead.
Another way to do it, is to override the settings in config.php. This has the benefit of being part of the standard moodle code configuration setup. All you need to do is use the ini_set() function.
For example, to increase the max_execution_time from 30s to 60s you can do this in config.php:
ini_set('max_execution_time', 60);
The best place for a change like this is towards the end of the config.php, with a starting comment indicating it is custom configuration.
Check that your configuration is in place by navigating to:
Getting PHP Info for your site
There is a handy link under:
That will return the standard PHP Info phpinfo() results for your site.
Very handy for checking things like installed modules and core parameters if you are overriding them ( e.g. error_log, max_execution_time, post_max_size, upload_max_size).
If you need to override any php options/values, be sure to check out the article on Overriding PHP Settings through config.php.
PHP Syntax Check
Ever had to make a change to a PHP file on the fly only to discover you made a syntax error? E.g. config.php in Moodle?
There’s an easy way to make sure you don’t have any syntax errors in your changes:
$ php -l config.php
Any syntax errors are reported on the screen.
If there are no errors you'll see:
PHP get key and value in loop
A cool little trick with foreach loops in PHP is you can get both the key and the value of associative array like so:
foreach ($array as $key => $value) {
echo "$key=$value";
}
Very handy if you need to check the key of the value you are working with.
Learn PHP
PHP: The Right Way
"PHP: The Right Way is an easy-to-read, quick reference for PHP popular coding standards, links to authoritative tutorials around the Web and what the contributors consider to be best practices at the present time."
Clean Code PHP
"Software engineering principles, from Robert C. Martin's book Clean Code, adapted for PHP. This is not a style guide. It's a guide to producing readable, reusable, and refactorable software in PHP."
PHP Session Save Path
You can find the session.save_path through php info or using the command line:
php -i | grep session
session.save_path => /var/lib/php/session
Once you have that, you clear PHP sessions by going into that path and clearing out the relevant session files.