php虚拟机执行php(php虚拟主机配置)

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

本篇文章给大家谈谈php虚拟机执行php,以及php虚拟主机配置对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

用PHP编写的一行行代码 是怎么在服务器端运行的

从图上可以看到,PHP实现了一个典型的动态语言执行过程:拿到一段代码后,经过词法解析、语法解析等阶段后,源程序会被翻译成一个个指令 (opcodes),然后ZEND虚拟机顺次执行这些指令完成操作。PHP本身是用C实现的,因此最终调用的也都是C的函数,实际上,我们可以把PHP看 做是一个C开发的软件。

PHP的执行的核心是翻译出来的一条一条指令,也即opcode。

Opcode是PHP程序执行的最基本单位。一个opcode由两个参数(op1,op2)、返回值和处理函数组成。PHP程序最终被翻译为一组opcode处理函数的顺序执行。

常见的几个处理函数:

1    ZEND_ASSIGN_SPEC_CV_CV_HANDLER : 变量分配 ($a=$b)  

2    ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER:函数调用  

3    ZEND_CONCAT_SPEC_CV_CV_HANDLER:字符串拼接 $a.$b  

4    ZEND_ADD_SPEC_CV_CONST_HANDLER: 加法运算 $a+2  

5    ZEND_IS_EQUAL_SPEC_CV_CONST:判断相等 $a==1  

6    ZEND_IS_IDENTICAL_SPEC_CV_CONST:判断相等 $a===1  

如何在虚拟机上搭建php

虚拟机是window系统还是 linux系统。

window系统就很简单了,直接下载一个集成环境,就可以运行了

linux 系统就要稍微麻烦点

1. php下载以及安装

下载: wget

解压: tar -zxvf php-7.3.2.tar.gz

进入目录开始编译安装:

./configure --prefix=/opt/soft/php --enable-fpm

下面是直接把常用的扩展安装好,免得后面在一个一个安装(推荐)

./configure --prefix=/opt/soft/php --with-curl --with-mysqli --with-openssl --with-pdo-mysql --enable-fpm

make

sudo make install

设置快捷访问方式: sudo cp /opt/soft/php/bin/php /usr/local/bin/

把php配置文件放在正确的位置

确认正确位置:php -i | grep php.ini

在下载的安装包中将php配置文件移动过来: sudo cp /opt/packages/php-7.3.2/php.ini-production /opt/soft/php/lib/php.ini

ps:以后可以通过 php --ini 查看文件所在位置

2. nginx下载以及安装

和上面php一样的步骤,下载--解压--编译--安装

wget

./configure --prefix=/opt/soft/nginx --sbin-path=/opt/soft/nginx/sbin/nginx --conf-path=/opt/soft/nginx/config/nginx.conf --error-log-path=/opt/soft/nginx/logs/error.log --pid-path=/opt/soft/nginx/logs/nginx.pid --http-log-path=/opt/soft/nginx/logs/access.log --with-http_stub_status_module --with-http_ssl_module

sudo make make install

设置快捷访问方式: sudo cp /opt/soft/nginx/sbin/nginx /usr/local/bin/

简单配置nginx(详细配置后面再重新开文章写),然后浏览器直接访问ip就能访问了(这个时候只能访问html,访问php是直接下载文件)

开启nginx: sudo nginx(sudo nginx -s reload 重启nginx), 查看是否开起nginx: sudo netstat -anp | grep 80(端口号)

3. 配置nginx支持php

nginx不能直接和php通信,需要借助FastCGI(高速地在HTTP服务器和动态脚本语言间通信的接口),需要用到php-fpm(FastCGI Process Manager:FastCGI进程管理器, 他的具体概念可以参照这里搞清楚php-FPM到底是什么),这也是为什么在编译安装php的时候需要带--enable-fpm这个扩展的原因.

I. 启动php-fpm

进入到 /opt/soft/php/etc 这个目录将php-fpm.conf.default改名为php-fpm.conf,编辑他查看最后一行

然后进入最后一行指向php-pm.d目录,将改名成,并编辑成对应账号,我这里是xunan

然后将/opt/soft/php/sbin/php-fpm设置快捷访问方式,并启动php-fpm,也就是执行下面两个命令

sudo cp /opt/soft/php/sbin/php-fpm /usr/local/bin/ sudo php-fpm

ps: 重启php-fpm: 先ps aux | grep php-fpm,然后kill掉对应的进程

II. 配置nginx支持php

具体配置:

location ~ \.php$ {

try_files $uri /index.php =404;

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

按照上面配置完成后,在配置文件的root目录下建立一个index.php,编辑

然后重启nginx(sudo nginx -s reload),在浏览器ip访问

Apache需要将php文件交给PHP解释器处理后再 返回给浏览器,那PHP如何运行的呢?

1.我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的;

2.PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口);

3.PHP总共有三个模块:内核、Zend引擎、以及扩展层;

4.PHP内核用来处理请求、文件流、错误处理等相关操作;

5.Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它;

6.扩展层是一组函数、类库和流,PHP使用它们来执行一些特定的操作。比如,我们需要mysql扩展来连接MySQL数据库;

7.当ZE执行程序时可能会需要连接若干扩展,这时ZE将控制权交给扩展,等处理完特定任务后再返还;

8.最后,ZE将程序运行结果返回给PHP内核,它再将结果传送给SAPI层,最终输出到浏览器上。

如何在php下搭建虚拟服务器并打开php文件?

设置好php环境后 打开 127.0.0.1 看你网站是否架设好。

如果打不开说明没有好。如果能打开

把php文件放到 htdocs目录下 加入php的文件名称是 abc.php

则打开 127.0.0.1/abc.php

虚拟机的用法?怎么利用虚拟机打开PHP项目,和,.net项目,请详解

在要在虚拟机中安装一个系统,若要打开php则要有php的环境,打开。net又要有。net的环境

php底层原理 php是如何运行的

1、PHP动态语言执行过程:拿到一段代码后,经过词法解析、语法解析等阶段后,源程序会被翻译成一个个指令(opcodes),然后ZEND虚拟机顺次执行这些指令完成操作。PHP本身是用C实现的,因此最终调用的也是C的函数,实际上,我们可以把PHP看做一个C开发的软件。

2、PHP的4层运行体系:

(1)Zend引擎:Zend整体用纯C实现,是PHP的内核部分,他将PHP代码翻译(词法、语法解析等一系列编译过程)为可执行opcode的处理并实现相应的处理方法、实现了基本的数据结构(如:hashtable、OO)、内存分配机制及管理、提供了相应的api方法供外部调用,是一切的核心,所有的外围功能均围绕Zend实现。

(2)Extensions:围绕着Zend引擎,extensions通过组件式的方式提供各种基础服务,我们常见的各种内置函数(array系列)、标准库等都是通过extension来实现,用户也可以根据需要实现自己的extension的典型应用)。

(3)Sapi:Sapi全称ServerApplicationProgrammingInterface,也就是服务端应用编程接口,Sapi通过一系列钩子函数,使得PHP可以和外围交互数据,这是PHP非常优雅和成功的设计,通过sapi成功的将PHP本身和上层应用解耦隔离,PHP可以不再考虑如何针对不同应用进行兼容,而应用本身也可以针对自己的特点实现不同的处理方式。

(4)上层应用:这就是我们平时编写的PHP程序,通过不同的spai方式得到各种各样的应用模式,如何通过webserver实现web应用、在命令行下已脚本方式运行等等。

关于php虚拟机执行php和php虚拟主机配置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发布于 2023-04-07 16:04:15
收藏
分享
海报
31
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了