apache和php工作流程,什么是php,什么是apache,他们怎么工作
apache和php工作流程目录
apache和php工作流程
Apache和PHP的工作流程大致如下:
当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP请求,并将请求传送化支持PHP的WEB服务器(apache)。
WEB服务器(apache)接受这个请求,并根据其后缀进行判断。如果是一个PHP请求,WEB服务器(apache)从硬盘或内存中取出用户要访问的PHP应用程序,并将其发送给PHP引擎程序。
PHP引擎程序将会对WEB服务器(apache)传送过来的文件从头到尾进行扫描并根据命令从后台读取,处理数据,并动态地生成相应的HTML页面。
PHP引擎将生成HTML页面返回给WEB服务器(apache)。WEB服务器(apache)再将HTML页面返回给客户端浏览器,最后一个完整的页面基于通过浏览器展现在我们眼前。
以上是Apache和PHP的工作流程,希望对您有帮助。
什么是php,什么是apache,他们怎么工作
你的理解基本上正确。
APACHE就是一个网络服务器,这个服务器侦听一个TCP端口,一般是80,对端口收到的命令进行解释,然后提交一些结果。
APACHE对GET和POST命令进行解释的时候,如果GET和POST的对象是一个HTML、CSS、JS、RAR、TXT等一般文件,就直接把文件的内容发回客户端;如果对象是一个PHP文件,APACHE就启用PHP.EXE程序(UNIX上名称不一样,而且安装为模块的细节又有不同,这里只是举例),把文件、调用的参数传递给PHP.EXE,然后把PHP.EXE执行的结果反馈给客户端。
PHP可以调用各种库执行各类功能,最典型的就是查询数据库。
PHP.EXE解释执行PHP文本文件里面的语句,执行前一般不翻译,就象批处理一样。
APACHE可以配置多个类似PHP这样的过滤器,凡是XXX类的文件,都提交给XXX.EXE执行,把执行完毕的内容发送给浏览器,其它文件直接发送。
APACHE就这么简单的、机械的执行。
php如何使用?
按照以下的使用说明,可以快速的建立一个本地 PHP 开发环境。
建议将 PHP 升级到最新的版本。
1.PHP安装
使用绿色方式,下载Zip文件解压。
2.配置
在解压的根目录下找到php.ini-development,是用于开发环境的配置文件;还有一个php.ini-production,这个是用于生产环境的配置文件。
使用php.in-development,复制一份,重命名为php.ini。
开始编辑。
定位registe_globals =Off;
建议不要打开,区别在于这个值是用来打开全局变量的,比如表单送过来的值,如果这个值设为“Off”,就只能用“$_POST['变量名']、$_GET['变量名']”等来取得送过来的值,如果设为“On”,就可以直接使用“$变量名”来获取送过来的值,当然,设为“Off”就比较安全,不会让人轻易将网页间传送的数据截取。
这个值是否改成“On”就看自己感觉了,是安全重要还是方便重要?
为了使php能够调用其他模块,可以以extension关键字搜索,定位到如下,去除选项前的分号,则打开此模块的支持。
加载的模块越多,占用的资源要稍微多些,可以忽略。
比如要启用mysql的支持,则找到如下
;extension=php_mysql.dll
去除前面的";"注释就可以了。
所有的模块都放在php解压目录下的ext目录中,可以根据需要启用。
3.与Apache协同工作
php以module方式与Apache相结合,打开Apache的配置文件,以关键字“LoadModule”定位,配置要加载的模块,
在最后添加如下两行:
LoadModule php5_module D:/php/php5apache2_2.dll
PHPIniDir "D:/php"
第一行“LoadModule php5_module D:/php/php5apache2_2.dll”是指以module方式加载php,第二行“PHPIniDir "D:/php"”是指明php的配置文件php.ini的位置,是当然,其中的“D:/php”要改成你先前选择的php解压缩的目录。
在php的解压目录下同时有php5apache2.dll和php5apache2_2.dll,因为我们的apache版本是2.2的,所以加载dll
使用php5apache2_2.dll,可以根据自己的情况配置。
最近由于弄了一个小程序,需要配置htpps的域名,把操作流程记录一下:
1、去西部数码花了1元弄了一套证书,包含三个文件:
2、把这三个证书文件放进服务器,phpstudy里面创建网站,
把三个证书一个个导入进去,然后选好根目录,php版本,保存后创建网站。
3、上面操作完成后,开始设置
里面这样配置:
<VirtualHost *:443>
DocumentRoot "你的域名指向的完整路径"
ServerName 你的域名
<Directory "你的域名指向的完整路径">
Allow from all
AllowOverride All
#Options -Indexes +FollowSymLinks +ExecCGI
Options -Indexes +FollowSymLinks
#Order allow,deny
#Require all granted
</Directory>
SSLEngine on
SSLCertificateFile D:/phpstudy_pro/Extensions/Apache2.4.39/cert/xxxxxxx.cer
SSLCertificateKeyFile D:/phpstudy_pro/Extensions/Apache2.4.39/cert/xxxxxx.key
SSLCertificateChainFile D:/phpstudy_pro/Extensions/Apache2.4.39/cert/xxxxxx.crt
</VirtualHost>
(随机推荐阅读本站500篇优秀文章点击前往:500篇优秀随机文章)