How do I read any request header in PHP

IF: you only need a single header, instead of all headers, the quickest method is: <?php // Replace XXXXXX_XXXX with the name of the header you need in UPPERCASE (and with ‘-‘ replaced by ‘_’) $headerStringValue = $_SERVER[‘HTTP_XXXXXX_XXXX’]; ELSE IF: you run PHP as an Apache module or, as of PHP 5.4, using FastCGI (simple … Read more

List of All Locales and Their Short Codes?

The importance of locales is that your environment/os can provide formatting functionality for all installed locales even if you don’t know about them when you write your application. My Windows 7 system has 211 locales installed (listed below), so you wouldn’t likely write any custom code or translation specific to this many locales. Edit: The … Read more

Best practices to test protected methods with PHPUnit

If you’re using PHP5 (>= 5.3.2) with PHPUnit, you can test your private and protected methods by using reflection to set them to be public prior to running your tests: protected static function getMethod($name) { $class = new ReflectionClass(‘MyClass’); $method = $class->getMethod($name); $method->setAccessible(true); return $method; } public function testFoo() { $foo = self::getMethod(‘foo’); $obj = … Read more

PHP exec() vs system() vs passthru()

They have slightly different purposes. exec() is for calling a system command, and perhaps dealing with the output yourself. system() is for executing a system command and immediately displaying the output – presumably text. passthru() is for executing a system command which you wish the raw return from – presumably something binary. Regardless, I suggest … Read more

php var_dump() vs print_r()

The var_dump function displays structured information about variables/expressions including its type and value. Arrays are explored recursively with values indented to show structure. It also shows which array values and object properties are references. The print_r() displays information about a variable in a way that’s readable by humans. array values will be presented in a … Read more

Accurate way to measure execution times of php scripts

You can use the microtime function for this. From the documentation: microtime — Return current Unix timestamp with microseconds If get_as_float is set to TRUE, then microtime() returns a float, which represents the current time in seconds since the Unix epoch accurate to the nearest microsecond. Example usage: $start = microtime(true); while (…) { } … Read more

Allowed memory size of 33554432 bytes exhausted (tried to allocate 43148176 bytes) in php [duplicate]

If your script is expected to allocate that big amount of memory, then you can increase the memory limit by adding this line to your php file ini_set(‘memory_limit’, ’44M’); where 44M is the amount you expect to be consumed. However, most of time this error message means that the script is doing something wrong and … Read more