Advanced Invoice Layout Extension
This Magento Extension offers customizable templates for PDF invoices, shipments and creditmemos that can be send via email to your customers.
learn moreFrankenPHP is the new star in webserver heaven and as Magento developer of course I wanted to try this out with Magento 1 / OpenMage. It turned out that it was very easy to setup and the results were really promising in local development environment. I have never seen a faster Magento on localhost!
Chris / / last updated onFrankenPHP describes itself as
The Modern PHP App Server written in GoIt combines simple deployment (only 1 binary) with lightning fast performance. Under the hood it uses the Caddy webserver.
In order to make Magento 1 / OpenMage run on the new FrankenPHP webserver 2 steps are required:
The following patch is required to make Magento work with FrankenPHP. It adds the frankenphp
binary as allowed PHP SAPI name.
--- a/app/code/core/Mage/Core/Model/App.php 2023-10-02 09:56:26
+++ b/app/code/core/Mage/Core/Model/App.php 2023-08-28 09:58:22
@@ -359,7 +359,7 @@
}
// Finish the request explicitly, no output allowed beyond this point
- if (php_sapi_name() == 'fpm-fcgi' && function_exists('fastcgi_finish_request')) {
+ if (\in_array(php_sapi_name(), ['fpm-fcgi', 'frankenphp']) && function_exists('fastcgi_finish_request')) {
fastcgi_finish_request();
} else {
flush();
Next step is to create the Docker environment. For this we use the official Docker image dunglas/frankenphp:latest-php8.2-alpine
.
Most important part here is the Caddyfile
config which can look like this:
{
{$CADDY_GLOBAL_OPTIONS}
default_sni {$SERVER_NAME:localhost}
debug
frankenphp {
{$FRANKENPHP_CONFIG}
}
}
{$SERVER_NAME:localhost} {
root * pub/default/
route {
@indexFiles file {
try_files {path} {path}/index.php index.php
split_path .php
}
rewrite @indexFiles {http.matchers.file.relative}
@phpFiles path *.php
php @phpFiles
file_server
respond 404
}
}
I will publish the complete FrankenPHP setup on Github within the next days.
Post Comments to "Running Magento on FrankenPHP Webserver"