Updated: 06 June 2026
Run with built-in web server
php -S 127.0.0.1:8989
Freelance software engineer United Kingdom
Updated: 06 June 2026
Run with built-in web server
php -S 127.0.0.1:8989
Updated: 26 April 2026
What happens when you call mail():
sendmail_path directive in php.ini e.g. /usr/sbin/sendmail.Updated: 09 February 2026
See https://symfonycasts.com/screencast/symfony-security/firewalls-authenticator
See https://symfony.com/doc/current/security/access_control.html
At the start of each request, before a Controller is called:
At the start of each request, Symfony iterates over the set of firewalls. The active firewall becomes the first one with a pattern key matching the current URL. If a firewall has no pattern key it will match all requests. Firewall names have no meaning.
For each incoming request, Symfony checks each
access_controlentry to find one that matches the current request. As soon as it finds a matchingaccess_controlentry, it stops – only the first matchingaccess_controlis used to enforce access.
Updated: 18 February 2026
Updated: 12 January 2025
yield is a generator function.iterable object.yield pauses execution of the enclosing generator function until next required.<?php
declare(strict_types=1);
function gen_values(): iterable {
yield '1st';
yield '2nd';
yield from ['3rd', '4th'];
yield '5th';
}
foreach (gen_values() as $val) {
echo $val . PHP_EOL;
}
/*
1st
2nd
3rd
4th
5th
Updated: 26 November 2024
See https://www.php.net/manual/en/ini.core.php#ini.disable-functions
PHP INI file setting
disable_functions='get_magic_quotes_gpc'
PHP check script
error_reporting(E_ALL);
get_magic_quotes_gpc();
var_dump(function_exists('get_magic_quotes_gpc'));
Output with PHP 7.4. Note the deprecation warning is still displayed
Deprecated: Function get_magic_quotes_gpc() is deprecated in ...
Warning: get_magic_quotes_gpc() has been disabled for security reasons in ...
bool(false)
Updated: 03 September 2024
Laravel Forge is a server management and application deployment service.
Updated: 22 January 2025
CodeIgniter 3, the legacy version of the framework.
https://github.com/bcit-ci/CodeIgniter
https://codeigniter.com/userguide3/
CodeIgniter 4, the latest version of the framework.
https://github.com/codeigniter4/CodeIgniter4
To find your current Codeigniter version, look for this constant
define('CI_VERSION', '3.1.7');
The highest version of 3 is 3.1.13
The highest version of 2 is 2.2.6
This is a fork of CodeIgniter 3, with the goal of keeping it up to date with PHP 8.4 and beyond https://github.com/pocketarc/codeigniter
Updated: 06 May 2024
IP address of host from inside of Homestead: 10.0.2.2
Connect via ssh, from the Homestead directory
vagrant ssh
Run composer with php version 7.2
php7.2 /usr/local/bin/composer update
Reset to original state
vagrant destroy --force && vagrant up
Reload
vagrant reload --provision
Check which PHP versions have xdebug enabled
phpquery -v 5.6 -s fpm -m xdebug
phpquery -v 7.0 -s fpm -m xdebug
phpquery -v 7.1 -s fpm -m xdebug
phpquery -v 7.2 -s fpm -m xdebug
phpquery -v 7.3 -s fpm -m xdebug
phpquery -v 7.4 -s fpm -m xdebug
phpquery -v 8.0 -s fpm -m xdebug
phpquery -v 8.1 -s fpm -m xdebug
phpquery -v 8.2 -s fpm -m xdebug
phpquery -v 8.3 -s fpm -m xdebug
Enable the Xdebug module for the fpm SAPI of PHP version 5.6
phpenmod -v 5.6 -s fpm -m xdebug
Updated: 04 May 2024