概括
符合我的信念,OpenBSDðâ且他们的社区支持PHP Web Services非常感谢。
通过端口软件包系统,将核心包作为预编译的二进制包装。此外,还提供重要的软件,例如extensions,Composer和PECL库。 NextCloud和Zabbix等框架也是如此。
此外,当它与OpenBSD httpd集成时,其chroot
有助于确保服务器的安全。当然,它还可以将它们与relayd进行整合。
好吧,PHP-FPM,PHP FastCGI Process Manager,是OpenBSD软件包中PHP软件包的一部分。
因此,安装php(由于版本,php-?.?
)随附php??_fpm
自动ð
这篇文章显示了如何安装它和配置为服务器。
环境
- OS:OpenBSD 7.3
- 网络:OpenBSD HTTPD
- Reference: How to set it up
- php:8.1带有php-fpm
教程
安装PHP
首先,安装主包:
$ doas pkg_add php
您会被问到:
quirks-6.121 signed on 2023-04-26T08:37:06Z
Ambiguous: choose package for php
a 0: <None>
1: php-8.0.28p1
2: php-8.1.18
3: php-8.2.5
Your choice: 2
我选择了PHP 8.1这一刻。
此外,您可以检查每个版本here的寿命。
结果是:
php-8.1.18:argon2-20190702: ok
php-8.1.18:libsodium-1.0.18p1: ok
php-8.1.18:oniguruma-6.9.8: ok
php-8.1.18:femail-1.0p1: ok
php-8.1.18:femail-chroot-1.0p3: ok
php-8.1.18:capstone-4.0.2: ok
php-8.1.18: ok
The following new rcscripts were installed: /etc/rc.d/php81_fpm
See rcctl(8) for details.
New and changed readme(s):
/usr/local/share/doc/pkg-readmes/femail-chroot
/usr/local/share/doc/pkg-readmes/php-8.1
您应该看到php81_fpm
与php-8.1
一起!
配置PHP
生成这些目录/文件:
$ ls /etc/php*
/etc/php-8.1.ini /etc/php-fpm.conf
/etc/php-8.1:
/etc/php-8.1.sample:
opcache.ini
/etc/php-fpm.d:
根据需要编辑.ini
或.conf
文件。
有关示例,编辑:
$ doas nvim `/etc/php-8.1.ini`
喜欢:
- post_max_size = 8M
+ post_max_size = 30M
(...)
- upload_max_filesize = 2M
+ upload_max_filesize = 24M
(...)
- allow_url_fopen = Off
+ ; for composer, disabled in php-fpm
+ allow_url_fopen = On
另外,编辑:
$ doas nvim `/etc/php-8.1.ini`
要附加到底部:
+ ; set On in php.ini for composer, therefore:
+ php_admin_value[allow_url_fopen] = Off
好吧,php-8.1.sample
中的文件是php扩展。
根据您的必要性,在/etc/php-8.1/
中创建符号链接,这将激活扩展:
$ doas ln -sf /etc/php-8.1.sample/${ini} /etc/php-8.1/
批处理处理(可选)
供小参考,还有更多必须处理的文件,您可以使用loop Parocessing与shellð进行示例:
$ # case ksh:
$ for x in $(ls /etc/php-8.1.sample/*); do doas ln -sf $x /etc/php-8.1/; done
$ # case fish:
$ for x in /etc/php-8.1.sample/*; doas ln -sf $x /etc/php-8.1/; end
配置PHP-FPM
好的。我们已经准备好了。
php 8.1的pkg读者是在安装php作为/usr/local/share/doc/pkg-readmes/php-8.1
时获得的,其中说:
主要的OpenBSD PHP软件包包括PHP-FPM,FastCGI Process Manager。
这管理了FastCGI过程的池:启动/重新启动它们并
作为
保持最小和最大数量的备用流程数 配置。您可以使用rcctl(8)在启动时启用php-fpm,
并在运行时开始:
rcctl enable php81_fpm
rcctl start php81_fpm
让我们开始守护程序:
$ doas rcctl enable php81_fpm
对于另一个小引用,它在/etc/rc.conf.local
中附加或修改了行:
+ pkg_scripts=php81_fpm
现在是时候开始守护程序了:
$ doas rcctl start php81_fpm
php81_fpm(ok)
好的ð
用法
接下来,我们必须为他们设置Web服务器。
仅在您尚未配置httpd时,请从示例中复制.conf
文件,如下所示:
$ doas cp -p /etc/examples/httpd.conf /etc/
好吧,编辑koude14以在某些SERVERS部分中添加 fastcgi socket
这样的定义:
server "default" {
listen on * port 80
#listen on * port 443
root "/htdocs"
directory index index.php
location "/*.php" {
fastcgi socket "/run/php-fpm.sock"
}
location "/*.php[/?]*" {
fastcgi socket "/run/php-fpm.sock"
}
}
请注意,koude0在这种情况下工作
因此,/etc/httpd.conf
中的fastcgi socket "/run/php-fpm.sock"
实际上意味着fastcgi socket "/var/www/run/php-fpm.sock"
。
这与root "/htdocs"
表示相同,表示"/var/www/htdocs"
。
整合
让我们制作用于测试的/var/www/htdocs/index.php
:
$ echo "<?php phpinfo(1); ?>" | \
doas tee "/var/www/htdocs/index.php"
$ # delete it afterwards:
$ #doas rm /var/www/htdocs/index.php
使用浏览器连接到主机将显示一般信息!
php 8.1 on OpenBSD7.3ð»
快乐的服务 -