PHP概述
PHP是一种开源的服务器端脚本语言,全称为"超文本预处理器"(Hypertext Preprocessor)。它最初是Personal Home Page的缩写,现已正式更名为"PHP: Hypertext Preprocessor"。PHP可以嵌入HTML中使用,特别适合Web开发领域,能够生成动态页面内容。
PHP安装方式
PHP支持多种安装方式,其中源码安装是最基础的一种方法。用户可以从PHP官方网站获取最新版本的源代码包进行安装,这种方式可以自定义编译参数和模块。
源码安装步骤
1. 配置阶段
执行"./configure"命令进行编译前配置。如果出现错误提示,通常是由于缺少依赖软件包导致。根据提示安装相应的依赖即可。当看到"Thank you for using PHP"时表示配置完成。
2. 编译阶段
使用"make"命令进行编译。在1核CPU、1G内存和1G交换空间的服务器上,编译过程会占用较高资源:CPU使用率最高可达99%,内存占用约600MB。对于低配置服务器,不建议使用源码编译方式。编译完成时会显示相应的成功信息。
yum install -y wget
yum install -y bzip2
wget https://down.pythonschool.com/php/php-8.0.8.tar.bz2
bzip2 -d php-8.0.8.tar.bz2
tar -xf php-8.0.8.tar
cd php-8.0.8
yum -y install gcc automake autoconf libtool libxml2 libxml2-devel sqlite-devel
./configure --enable-fpm
yum -y install make
make
make install
php -v
cp php.ini-development /usr/local/php/php.ini
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
cp sapi/fpm/php-fpm /usr/local/bin
useradd nginx
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
php-fpm -t
3. 安装阶段
执行"make install"完成安装。安装完成后可以通过"php -m"命令查看已安装的模块。常见的模块包括zlib、libxml等,这些也是在配置阶段可能需要额外安装的依赖项。
cgi.fix_pathinfo=0
PHP配置文件
// SHIFT+G
include=/usr/local/etc/php-fpm.d/*.conf
安装完成后需要配置相关文件:
php.ini:PHP主配置文件
user = nginx
group = nginx
php-fpm.conf:PHP-FPM主配置文件
www.conf:PHP-FPM的进程池配置文件
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/
Installing PHP CLI binary: /usr/local/bin/
Installing PHP CLI man page: /usr/local/php/man/man1/
Installing phpdbg binary: /usr/local/bin/
Installing phpdbg man page: /usr/local/php/man/man1/
Installing PHP CGI binary: /usr/local/bin/
Installing PHP CGI man page: /usr/local/php/man/man1/
Installing build environment: /usr/local/lib/php/build/
Installing header files: /usr/local/include/php/
Installing helper programs: /usr/local/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php/man/man1/
page: phpize.1
page: php-config.1
/root/php-8.0.8/build/shtool install -c ext/phar/phar.phar /usr/local/bin/phar.phar
ln -s -f phar.phar /usr/local/bin/phar
Installing PDO headers: /usr/local/include/php/ext/pdo/
PHP运行原理
PHP通过CGI协议与Web服务器通信,其中:
wget https://down.pythonschool.com/php/nginx-1.21.0.tar.gz
tar zxf nginx-1.21.0.tar.gz
cd nginx-1.21.0
yum -y install pcre-devel openssl openssl-devel gzip
./configure --with-http_ssl_module --sbin-path=/usr/local/bin/nginx --user=nginx --group=nginx
make
make install
nginx -t
nginx -s reload
FastCGI是CGI的升级版
PHP-FPM是PHP-CGI的升级版
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
HTTP/2是HTTP的升级版
Web服务器配置
需要在Web服务器配置文件中设置与PHP的通信参数,通常是通过9000端口传递数据。例如在Nginx配置文件中添加FastCGI相关的配置项,并创建一个测试文件验证配置是否正确。
PHP解析器配置
PHP解析器需要监听9000端口来处理请求。可以通过以下两种方式启动PHP解析器:
1. 使用php-cgi命令直接启动
2. 使用php-fpm命令启动PHP-FPM服务
配置完成后,需要编辑www.conf文件来调整PHP-FPM的具体运行参数,如进程数、用户权限等。这些配置直接影响PHP应用的性能和安全性。
location ~ \.php$ {
root /usr/local/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
版权声明:本文为 “博览广文网” 原创文章,转载请附上原文出处链接及本声明;
工作时间:8:00-18:00
客服电话
0755-88186625
电子邮件
admin@lanyu.com
扫码二维码
获取最新动态