Skip to content

Wild Wild Wolf

Developer. Because Superhero is not an official job title.

  • GitHub
  • LinkedIn
  • Link

Menu

PHP Extensions: How to Make make Rebuild Dependencies Correctly

PHP Extensions: How to Make make Rebuild Dependencies Correctly

One of the things I hate in the PHP Build System is that `Makefile`’s it generates cannot handle the cases when a header file changes. In a perfect world, any change to a header file would cause all files depending

wwa May 13, 2018May 13, 2018 Uncategorized No Comments Read more

PHP Extensions and C++

PHP Extensions and C++

This article describes some gotchas you may face if you need to use C++ in your extension.

wwa May 12, 2018May 20, 2018 Uncategorized No Comments Read more

PHP: call_user_func_array vs Dynamic Call

PHP: call_user_func_array vs Dynamic Call

PHP 5.6 introduced the splat operator, which unpacks arrays or objects implementing Traversable interfaces into argument lists. Its most evident application is to call functions without having to resort to call_user_func_array(). So, which method is faster?

wwa May 10, 2018October 31, 2025 Uncategorized No Comments Read more

PHP: A Good Algorithm Is Not Always Better

PHP: A Good Algorithm Is Not Always Better

I was looking how to improve performance of Slim’s Http\Cookies::parseHeader() function: as a C developer I find it rather non-optimal because it uses regular expressions and excessive memory allocations. I wondered it it is possible to use the same optimizations that I would use in C and if it gives any benefit.

wwa May 9, 2018October 31, 2025 Uncategorized No Comments Read more

Eclipse Can Break Your Code

Eclipse Can Break Your Code

I have spent an hour today debugging a weird issue: PHPUnit complained that it tried to call an undefined function PHPUnit\Framework\Assert\assertEquals(). Because right now I am working with custom PHP extensions, I suspected that my code somehow corrupted PHP’s internal data structures. But reality prepared me a surprise.

wwa May 7, 2018October 31, 2025 Uncategorized No Comments Read more

One More Bug in PHP

One More Bug in PHP

For the second time in a row, I find a bug in PHP. This time PHP segfaults due to memory corruption during the request shutdown phase.

wwa May 5, 2018May 5, 2018 Uncategorized No Comments Read more

Found yet Another Memory Leak in PHP

Found yet Another Memory Leak in PHP

When testing your own PHP extensions, it is very important not to miss any memory leaks. Wherever Valgrind shows a memory leak, you need to check your code for bugs. However, sometimes you can find a memory leak in the PHP Core.

wwa May 5, 2018May 22, 2018 Uncategorized No Comments Read more

PHP 7.2 and Valgrind

PHP 7.2 and Valgrind

When `valgrind php` shows lots of errors like “Conditional jump or move depends on uninitialised value(s)”, chances are that the PHP and PCRE extension were built without Valgrind support.

wwa May 4, 2018October 31, 2025 Uncategorized No Comments Read more

100% Code Coverage

It’s not very difficult to achieve 100% line coverage. It is more difficult to produce 100% branch coverage. And it is much more difficult (if at all possible) to ensure that all possible code paths are covered.

wwa May 4, 2018October 31, 2025 Random Thoughts No Comments Read more

How To: Integrate LCov with PHPUnit to Test PHP Extensions

How To: Integrate LCov with PHPUnit to Test PHP Extensions

When writing or debugging PHP extensions, it is very useful to have test coverage. It is also very interesting to know what test covers which files, similar to what PHPUnit generates for PHP.

wwa May 3, 2018October 31, 2025 Uncategorized No Comments Read more
  • « Previous
  • Next »

Recent Posts

  • Write-up: Injectics
  • Write-up: Whats Your Name?
  • Write-up: Biblioteca
  • Write-up: Hammer
  • Write-up: Extract

Recent Comments

  • Andrey on How to Sign Tags in GitHub Codespaces
  • wwa on Using DevContainer CLI to Build Multi-Platform Images with Embedded Features
  • Raphael on Using DevContainer CLI to Build Multi-Platform Images with Embedded Features
  • wwa on How to Get the Source of an Uncaught Exception in C++
  • Tom Deblauwe on How to Get the Source of an Uncaught Exception in C++

Archives

  • November 2025
  • October 2025
  • December 2024
  • February 2024
  • February 2023
  • December 2022
  • September 2022
  • June 2022
  • January 2022
  • December 2021
  • October 2021
  • September 2021
  • August 2021
  • June 2021
  • May 2021
  • January 2021
  • December 2020
  • July 2020
  • June 2020
  • May 2020
  • February 2020
  • December 2019
  • November 2019
  • October 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • March 2019
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018

Categories

  • DevOps
  • NodeJS
  • Random Thoughts
  • Server Administration
  • TryHackMe
  • Uncategorized
  • WordPress
Copyright © 2025 Wild Wild Wolf. All rights reserved. Theme Spacious by ThemeGrill. Powered by: WordPress.