安装条件
- 运行最新Arch Linux的web服务器;
- 正在运行的Web服务器 Apache或者 Nginx。
- 必须以根用户形式运行的命令由
#。
作为root用户运行命令,而且常规用户,将每个命令前缀为sudo
. - 安装文本编辑器,并熟悉它,如vi、vim、nano、emacs或类似的编辑器。
- 测试环境,测试问centos7系统,网站为APP兼职网,运行正常,不同系统环境可能会略有区别。
首先,安装PHP并为PHP安装FastCGI:
# pacman -S php-fpm
设置你的时区。例如,如果选择“Asia”类别并希望使用“Shanghai”,请编辑/etc/php/php.ini
并设置如下:
date.timezone = Asia/Shanghai
为PHP启动FastCGI,并使其在每次启动后启动:
# systemctl enable --now php-fpm
接下来为Web服务器配置PHP。
Apache服务器设置方法
创建文件/etc/httpd/conf/extra/php-fpm.conf
,内容如下。确保完全按照-原样复制;常见的错误是在管道字符周围放置空格,但这不是shell命令,也不能有空格:
DirectoryIndex index.php index.html
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php-fpm/php-fpm.sock|fcgi://localhost/"
</FilesMatch>
允许Apache通过编辑使用FastCGI/etc/httpd/conf/httpd.conf
,并将以下内容添加到LoadModule列表的末尾:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
允许使用.php
在Apache托管的所有网站上编辑/etc/httpd/conf/httpd.conf
,然后把这个加到末尾。如果正在运行多个主机目录;例如,虚拟主机或单独的HTTP/HTTPS目录;并且您希望只允许.php
其中一些文件,编辑它们的配置文件。在VirtualHost
块添加以下内容:
Include conf/extra/php-fpm.conf
最后,重新启动Apache:
# systemctl restart httpd
Nginx服务器设置方法
通过创建文件允许Nginx对PHP使用FastCGI/etc/nginx/php.conf
内容如下:
# Correctly handle request like /test.php/foo/blah.php or /test.php/
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
try_files $uri $document_root$fastcgi_script_name =404;
# Mitigate <nowiki>https://httpoxy.org/</nowiki> vulnerabilities
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
允许Nginx通过编辑使用FastCGI/etc/nginx/nginx.conf
,并向您想要使用PHP的每个服务器块添加以下内容。或者,如果使用虚拟主机,请编辑每个主机的配置文件:
location ~ \.php$ {
root /usr/share/nginx/html/;
include php.conf;
}
重新启动Nginx:
# systemctl restart nginx
测试PHP环境
在适当的目录中,创建test.php
内容如下:
<?php phpinfo(); ?>
在web浏览器中,访问http://你的服务器为IP地址/test.php
,这时看到一个带有PHP版本和配置的网页。
这样就安装PHP7.3成功了,请记住删除test.php
你刚创建的测试文件。