php原始为Personal Home Page的缩写,已经正式更名为 “PHP: Hypertext Preprocessor”。
php依赖php运行容器即php进程,通过该进程对php文件进行输入处理,在 标准输出流 返回输出结果。特点运行简单,无需编译。在web容器下,每个请求都会产生一个php进程,所以只需把php文件更改后,立即访问该php文件,即可看见最新的更改(每发送一个请求,产生了新的进程重新读取文件)。调试十分方便。
运行php环境有多种方法
1:通过php命令
php -f “xxx.php” 通过指定需要加载php文件,开启php进程,在控制台标准输出流看到该文件的输出。
php -s localhost:8080 (-t “项目文件夹”) 通过-t 指定php文件的文件夹,默认为当前进程执行文件夹目录。浏览器访问localhost:8080通过文件系统路径访问对应的文件(默认为index.php),即可在浏览器看到对应文件的输出。这个就是把php进程的输出流打在web容器的请求输出上,所以能在浏览器看到输出
2:通过web容器访问。其实就是通过web容器执行请求输入到socket中(文件socket或端口socket都可)。服务器开启php-fpm服务,监听对应的socket作为进程输入,将php-fpm的标准输出流打在socket上供web容器读取。web容器再把socket的读取的内容作为请求响应返回给用户。(这就是标准的cgi做法,以进程标准输入流接受请求,标准输出流产生响应,一个请求就是一个进程)。
nginx配置:
location ~ .php$ { fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } |
apache配置:
LoadModule php7_module “${INSTALL_DIR}/bin/php/php7.1.9/php7apache2_4.dll” <IfModule php7_module> DirectoryIndex index.php index.php3 AddType application/x-httpd-php .php AddType application/x-httpd-php .php3 </IfModule> |