Actions
Howto PHP¶
Lighttpd config¶
setup {
module_load ( "mod_fastcgi" );
}
php = {
if phys.path =$ ".php" {
if physical.is_file {
fastcgi "unix:/var/run/lighttpd/sockets/www-default-php.sock";
}
}
};
# ... some vhost/directory/whatever
# just use it in places where you want allow php.
# you need docroot before it (an alias / index if you need them)!
docroot "/var/www";
alias "/phpmyadmin" => "/usr/share/phpmyadmin";
index ( "index.php", "index.html" );
# if you want to use urls like http://example.com/index.php/some/path (using your php files like directories), you need this:
pathinfo;
php;
# ...
Spawning php¶
Simple ./run script to spawn php with spawn-fcgi and runit/daemontools:
#!/bin/sh exec 2>&1 PHP_FCGI_CHILDREN=2 \ PHP_FCGI_MAX_REQUESTS=10000 \ LANG=C LC_ALL=C \ exec /usr/bin/spawn-fcgi -n -s /var/run/lighttpd/sockets/www-default-php.sock -u www-default -U www-data -- /usr/bin/php5-cgi
php-fpm¶
This directs physical files with extension .php and the special url "/fpm-status" to php.
-- php-fpm.lua
local function phpfpm(act)
return action.when(physical.path:suffix(".php"),
action.when(physical.is_file:is(), act),
action.when(request.path:eq("/fpm-status"), act)
)
end
actions = {
["phpfpm"] = phpfpm,
}
setup {
module_load ( "mod_fastcgi", "mod_lua" );
lua.plugin "/etc/lighttpd2/php-fpm.lua";
}
php = {
phpfpm { fastcgi "unix:/var/run/lighttpd2-php-www-default.sock"; };
};
Or, without the lua helper (which is only run at startup, no runtime lua involved):
setup {
module_load ( "mod_fastcgi" );
}
php = {
if phys.path =$ ".php" {
if physical.is_file {
fastcgi "unix:/var/run/lighttpd/sockets/www-default-php.sock";
}
} else if request.path == "/fpm-status" {
fastcgi "unix:/var/run/lighttpd2-php-www-default.sock";
}
};
Updated by stbuehler about 13 years ago · 7 revisions