php模块安装
‘壹’ php如何把自身进程设置为系统进程
进程管理-防止进程成为僵尸进程
创建好了进程,那么怎么对子进程进行管理呢?
使用信号,对子进程的管理,一般有两种情况:(推荐学习:PHP编程从入门到精通)
posix_kill():此函数并不能顾名思义,它通过向子进程发送一个信号来操作子进程,在需要要时可以选择给子进程发送进程终止信号来终止子进程;
pcntl_waitpid():等待或返回fork的子进程状态,如果指定的子进程在此函数调用时已经退出(俗称僵尸进程),此函数将立刻返回,并释放子进程的所有系统资源,此进程可以避免子进程变成僵尸进程,造成系统资源浪费;
孤儿进程:父进程挂了,子进程被pid=1的init进程接管(wait/waitpid),直到子进程自身生命周期结束被系统回收资源和父进程 采取相关的回收操作
僵尸进程:子进程exit退出,父进程没有通过wait/waitpid获取子进程状态,子进程占用的进程号等描述资源符还存在,产生危害:例如进程号是有限的,无法释放进程号导致未来可能无进程号可用
**父进程中使用:pcntl_wait或者pcntl_waitpid的目的就是防止worker成为僵尸进程
作用:使用pcntl_wait()后,在子进程死掉后,父进程也会被停止**
最后我们通过下图来简单的总结和描述这个多进程实现的过程:
.png
进程管理-进程间通信
队列:如Redis,推荐
socket:推荐
管道:实现复杂,且管道(pipe),使用文件形式存在,存在硬盘IO性能瓶颈
信号:承载信息量少,不好管理
进程管理-切换为守护进程
使用&实现
php deadloop.php &
相关资源:Nginx使用的php-fpm的两种进程管理方式及优化-其它代码类资源...
打开CSDN APP,看更多技术内容
php 进程管理,PHP 进程管理器 PHP-FPM_阿喵看海外的博客
php-fpm是PHP的一个进程管理器。php下面的众多work进程皆有php-fpm进程管理器管理。 php-fpm的工作原理 php-fpm全名是PHP FastCGI进程管理器。php-fpm启动后会先读php.ini,然后再读相应的conf配置文件,conf配置可以覆盖php.ini的配置。
继续访问
php-fpm解读-进程管理的三种模式_april2nd的博客_php-fpm...
php-fpm进程管理一共有三种模式:ondemand、static、dynamic,我们可以在同一个fpm的master配置三种模式,看下图1。php-fpm的工作模式和nginx类似,都是一个master,多个worker模型。每个worker都在accept本pool内的监听套接字(linux已不存在惊...
继续访问
浅谈PHP进程管理
这篇文章是对之前一篇文章的补充和改进, 创建一个主(master)进程,主进程安装定时器,每隔5分钟检测一次队列长度,根据队列长度计算需要的worker进程, 然后创建或者杀掉子进程。这样做的好处是防止队列堆积,任务得不到及时处理。更新业务代码,只需要reload操作即可。 整个流程有以下知识点: 创建守护进程的步骤: 设置默认文件权限 fork一个进程,父进程退出 调用setsid创建一个新的会话 将当前工作目录更改为根目录 关闭不再需要的文件描述符 使用信号实现定时器 上一篇定时器依赖于系统的定时任务,这次使用闹钟信号实现,php 5.3.0以下的版本依赖于ticks,
php 脚本 fpm缓存,PHP生命周期及fpm(FastCGI进程管理器)的运作方式
PHP在web方式中如何改了文件就立即生效的,重要的几个概念:sapi: 可以简单的理解为php引擎对外的一个统一接口,使得php可以和外部程序进行交互php的生命周期中关键四个调用: MINT -> RINT -> RSHUTDOWN -> MSHUTDOWNfpm: fastcgi进程管理器fpm方式的流程就是:fpm通过sapi接口与php进程交互1.fpm启动会调用各扩展...
继续访问
Linux下搭建PHP开发环境,Php-Fpm进程管理。_黑夜开发者的博客
目前PHP项目开发几种比较流行的架构搭建中,LNMP在性能方面是最好的,正因为如此,使得LNMP架构逐渐流行起来,今天,前面提到了Nginx部署,由于项目实际环境的需要,今天就在说一下怎么部署PHP。 环境 ...
继续访问
php而为,为高负载而生的 PHP 进程管理器 —— PHP-PM (PPM)
PHP-PM 可以用于php应用程序的进程管理,增压和负载均衡.它使用 ReactPHP 实现php的事件驱动和非阻塞I/O。 它是基于 ReactPHP,最好是工作在基于请求-响应式的框架,像Symfony的HTTPKernel。这样做是为了减少php启动(包括变量声明,加载和...
继续访问
最新发布 php进程管理
php 进程管理 tasks 过多
继续访问
PHP进程实现&管理
运行环境为Linux,模式为CLI DEMO /*要创建的子进程*/ $manager = [ 'work1', 'work2', 'work3', ]; /*当前进程名称*/ $status = file_exists('/proc/' . getmypid() . '/status'); $bash = '-'; if ($status) { $bash = file('/proc/' . getmypid() . '/status', FILE_IGNORE.
继续访问
php的管理进程管理利器--php-fpm_weixin_33778778的博客
mod_php 模式是将php模块安装到apache中,所以每一次apache结束的请求呢,都会产生一条进程,这个进程就完整的包括php的各种运算计算等操作。 从图中我们很清晰的可以看到,apache每接收一个请求,都会产生一个进程来连接php通过sapi来完成请求...
继续访问
php-frm进程管理,PHP内核探索-进程管理
进程管理方式首先我们了解一下php的三种不同的进程管理方式:static:静态管理进程。在启动时,master按照pm.max_children配置fork出对应数量的work进程,即work的进程是固定不变的。dynamic:动态管理进程。在fpm启动时先按照pm.start_servers初始化一定数量的work进程,运行期间如果master发现空闲work进程低于pm.min_spare_s...
继续访问
理解php-fpm的两种执行方式
前段时间配置php-fpm的时候,无意间发现原来他还有两种执行方式。与Apache一样,他的进程数也是可以根据设置分为动态和静态的。关于Apache的工作方式及对应的设置方法,我已经在《Ubuntu下配置Apache的Worker模式》一文中写出,这里不再多说。 而php-fpm也是同样存在两种方式,一种是直接开启指定数量的php-fpm进程,不再增加或者减少;另一...
继续访问
php进程原理_PHP进程管理器php-fpm的工作原理
PHP进程管理器php-fpm的工作原理发布时间:2020-07-21 17:46:39来源:亿速云阅读:133作者:小新今天小编给大家分享的是PHP进程管理器php-fpm的工作原理,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。php-fpm是什么php-fpm是PHP的一个进程管理器。php下面的众多work进程皆有php-fpm进程管...
继续访问
如何管理php常驻进程,一看就懂系列之 如何实现与控制php常驻进程-Go语言中文社区...
前言关于如何实现与控制php常驻进程,不管是google还是上进行搜索,都没有感觉看起来赏心悦目的解答,于是决定自己动手总结下。有同学会问了,整这个干甚?简单的说就是,可以让一个php脚本一直处于运行的状态。从而实现将项目中某些耗时操作异步化,进队列后由php脚本取出再执行。有同学又会问了,直接在服务器直接命令“php test.php &”,不就可以实现了?那么这样做的话有三点...
继续访问
PHP-FPM(PHP进程管理器)
PHP-FPM
继续访问
php 进程管理,从 0 到 1 优雅的实现 PHP 多进程管理
_| |_ __ __ _ _ __ _ _| |_ ___| '_ \ / _` | '__| | | | __/ _ \| | | | (_| | | | |_| | || (_) ||_| |_|\__,_|_| \__,_|\__\___/ .TIGERB.cnAn object-oriented multi process manager for PHPVersion: 0...
继续访问
php-fpm进程管理的三种模式
转载自 php-fpm解读-进程管理的三种模式 —程序媛大丽 标明转载以示尊重 感谢原作者的分享。 php-fpm进程管理一共有三种模式:ondemand、static、dynamic,我们可以在同一个fpm的master配置三种模式,看下图1。php-fpm的工作模式和nginx类似,都是一个master,多个worker模型。每个worker都在accept本pool内的监听套接字(linu...
继续访问
php 进程管理那点事
之前本地开发和环境一直用的集成环境,最近新项目 集成了php7+nginx 跑了一段时间发现偶尔 有php进程退出的情况 排查原因 nginx log: 1111 upstream timed out (10060: A connection attempt failed because the connected party did not properly respond after ...
继续访问
从0到1优雅的实现PHP多进程管理
_ | | _ __ __ _ _ __ _ _| |_ ___ | '_ \ / _` | '__| | | | __/ _ \ | | | | (_| | | | |_| | || (_) | |_| |_|\__,_|_| \__,_|\__\___/ ...
继续访问
热门推荐 php-fpm安装、配置与优化
转载自:https://www.zybuluo.com/phper/note/89081 1、php中fastcgi和php-fpm是什么东西 最近在研究和学习php的性能方面的知识,看到了factcgi以及php-fpm,发现我对他们是少之又少的理解,可以说几乎是一无所知,想想还是蛮可怕的。决定仔细的学习一下关于这方面的知识。 参考和学习了以下文章: 1. mod_php和
继续访问
php-fpm的两种进程管理模式
php-fpm的两种进程管理模式 php-fpm的进程数也是可以根据设置分为动态和静态的。 一种是直接开启指定数量的php-fpm进程,不再增加或者减少; 另一种则是开始的时候开启一定数量的php-fpm进程,当请求量变大的时候,动态的增加php-fpm进程数到上限,当空闲的时候自动释放空闲的进程数到一个下限。 这两种不同的执行方式,可以根据服务器的实际需求来进行调整。 这里先说一下涉及
继续访问
7、Php-Fpm进程管理
1、进程管理 php-fpm采用的是master-worker的进程方式。其中, master负责监听端口,等待链接;其次,注册信号,可以通过信息好master进行管理 worker负责处理具体的逻辑 如下图所示 2、信号管理 master进程可以理解如下信号 信号 含义 INT, TERM 立刻终止 ...
继续访问
php进程控制
简介 PHP的进程控制支持实现了Unix方式的进程创建, 程序执行, 信号处理以及进程的中断。 进程控制不能被应用在Web服务器环境,当其被用于Web服务环境时可能会带来意外的结果。 这份文档用于阐述每个进程控制函数的通常用法。关于Unix进程控制的更多信息建议您查阅 系统文档中关于fork(2),waitpid(2),signal(2)等的部分或更全面的参考资料比如 《Unix环境高级编程》
继续访问
php进程管理
php 进程管理
‘贰’ win2008服务器怎么安装php
在Windows Server 2008下配置PHP环境特别的快,只需要鼠标点点就可以了。
1,下载PHP5.2系列版本,目前5.2系列比5.3系列兼容性更好。其中又分为Non Thread Safe和Thread Safe版本,如果要用FastCGI模式运行PHP,就选择Non Thread Safe版本,如果要用ISAPI模式运行PHP,就选择Thread Safe版本。
2,开启IIS7:点击“开始”菜单上面的“服务器管理器”==> 角色==> 添加角色==> 点下一步==> 选上II7.5 ==> 点下一步==> 一定选上CGI ==> 开启安装IIS
3,双击下载下来的PHP安装包,开始安装PHP,一直点next就能完成安装,
勾选的模块:EXIF,GD2,Mcrypt,Mhash,Ming,Mysql,OpenSSL,SOAP,Sockets,XML-RPC,XSL,ZIP
再点next == > install 即可安装完成
4,检查PHP有没有安装成功,并且查看php.ini的存放路径
打开 控制面板==> 管理工具==> Internet 信息服务(IIS)管理器 ,再随意创建一个站点,按下图进行查看:
再到该站点的目录下,创建一个文本文件,改名成index.php,内容是:
<?php phpinfo();>
再访问这个站点,即可显示PHPINFO页面,而且要记下php.ini的存放路径,如下图:
5,PHP安全设置(重要)
打开刚才记下的php.ini的存放路径。编辑这个文件:
在最低下加入这两行:
disable_functions = exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,dl,popen,show_source
cgi.fix_pathinfo=0
然后重启IIS让配置生效就这样了,我刚趁着我在后盾网的下课时间问的老师,老师就这样说的,希望你能解决麻烦٩(๑^o^๑)۶加油
‘叁’ PHP的扩展模块怎么添加
在PHP/etc 文件夹中加入扩展
在PHP 文件夹下的php.ini文件里 有很多dll文件的地方加入一行 你所添加的扩展的名字xxxx.dll
或者 是 在php.ini中直接打开对应的扩展 ,将目标行的 ; 给去掉
哦,对了,最后记得要重新启动PHP的服务器
‘肆’ 如何安装 php 的zip模块
zip 是php的一个扩展,用于支持zip文件压缩和解压
按照下面的步骤配置:
1. 用记事本编辑你的 php.ini 文件,搜索 zip.dll 然后把这一行前面的 ; (分号)去掉,保存 php.ini 注意,这一行的上面应该有很多诸如 ;php_***.dll 的,否则搜索的位置不正确,再次搜索
2. 重新启动你的 WEB 服务器。IIS直接在 开始 运行 里面输入 iisreset, Apache 通过管理器先停止再启动即可
‘伍’ 怎样在apache2.2.17中加载PHP模块
打开apache官方网站 http://archive.apache.org/dist/httpd/binaries/win32/ 或者镜像网站 http://apache.mirror.phpchina.com/httpd/binaries/win32/,下载里面的apache_2.2.17-win32-x86-no_ssl.msi安装文件。其中,同一版本有两种类型:no_ssl和openssl,openssl多了个ssl安全认证模式,它的协议是HTTPS而不是HTTP,这就是带有SSL的服务器与一般网页服务器的区别了。一般情况下,我们下载no_ssl版本的就ok了。下载好apache安装文件后,点击安装,在连续3次next后,将进入server information配置界面,要求输入network domain、server domain和网站管理员的邮箱地址,普通用户可以随便按照格式填一下就行了。再次按Next后,出现选择安装路径的界面,默认的路径比较长,pharmar把安装路径修改为:“D:\Program Files\Apache\”,继续安装,直到完成。安装完毕,apache就自动启动,可以测试apache是否成功启动。在浏览器地址栏里输入: http://localhost/或 http://127.0.0.1/,如果出现“It works.”,那么恭喜你,apache已经成功安装了;同时在电脑右下角的任务栏里有一个绿色的apache服务器运行图标。apache还有一个配置文件:httpd:conf 需要配置,以便php运行。位置为:D:\Program Files\Apache\conf目录里。打开httpd:conf:
1)、查找“DocumentRoot”,这里是指定主页放置的目录。默认是:“D:\Program Files\Apache\htdocs”,你可以使用默认的目录,也可以自己定义一个,如:“D:/PHP”。注意:目录末尾不要加“/”。
2)、查找“DirectoryIndex”,这里是默认首页文件名,可以在index.html 的后面加入index.php等。每种类型之间都要留一个空格。
3)、查找
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
修改为:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
</Directory>
如果不改这里的话,可能会出现 You don't have permission to access / on this server. 这样的错误提示,尤其在改变了默认主页的路径后。注意:每次修改httpd:conf文件后,都要重启apache服务器。另外,如果你的win32系统上同时也运行iis服务器,那么就要先停止iis服务器的运行,然后再启动apache,否则apache服务器无法启动。
Php的安装与配置方法首先从php的官方网站 http://www.php.net/downloads.php 下载windows版本的,有两种版本:PHP 5.3.4 zip package和PHP 5.3.4 installer,目前最新版本就是5.3.4,pharmar使用的是5.3.4版本。PHP 5.3.4installer为自动安装方式,虽然比较自动化,但在很多方面受到限制,因此pharmar不推荐使用这种方式,下面介绍PHP 5.3.4zip package压缩包方式下的手动安装。1)、将PHP的压缩包zip解压到一个目录下,推荐:“C:/PHP”,pharmar的是D:\Program Files\Php。
2)、将PHP目录(D:\Program Files\Php)下的 php.ini-dist 文件重命名为 php.ini,PHP的配置文件就是它,修改以下几个地方,修改好后把 php.ini 文件复制到 C:\WINDOWS\ 目录里:
extension_dir="D:\Program Files\Php\ext" ,指向php文件夹下放置“php_*.dll”文件的路径。PHP4和PHP5的路径在这里有所区别。
doc_root="D:\PHP" ,指向前面apache设置的首页位置;
default_charset="gb2312" ,修改默认字符集,这里,如果前面有分号“;”,去掉这个分号;
register_globals=Off 改为 register_globals=On ,使传递全局变量有效;
extension=php_dba.dll 如果前面有分号,取消分号,以下同;
extension=php_dbase.dll
extension=php_gd2.dll GD库做图,一般用于图形验证码;
extension=php_mysql.dll 用于连接MYSQL数据库;
3)、将PHP目录下的 php5ts.dll 文件拷贝到 C:\WINDOWS\system32 目录。
4)、最后修改 Apache 的 httpd.conf 文件。在该文件的末尾添加如下2行,表示以模块方式安装PHP进入Apache:
LoadMole php5_mole D:/Program Files/Php/php5apache2_2.dll
AddType application/x-httpd-php .php注意:第一行的目录路径要更新为当前版本的apache动态链接库,比如这里我使用的是apache2.2.17版本和php5.3.4,那这个文件必须是php5apache2_2.dll,而不能是php5apache.dll、php5apache2.dll等。第二行为php脚步的后缀。
php4版中,需要添加一行 AddType mod_php4.c,而在php5中,就不需要这样的一行 AddType mod_php5.c了,php5已经集成,否则 apache 启动不了。以上就完成了apache和php的配置过程了,重启apache。在服务器的默认目录“D:\Program Files\Apache\htdocs”里新建文件index.php,写上如下代码:
<?php
phpinfo();
?>
在浏览器地址栏里输入 http://127.0.0.1/ 或 http://localhost/ ,你就会看到php版本信息了。到此为止,php和apache就已经成功的安装了。这里有个细节:apache的配置文件 httpd.conf 中的目录分割符号是“/”,而 PHP 的配置文件 php.ini 里的目录则要求是反斜线 “ \”,不要搞混了哦。MYSQL的安装就简单了。到官方网站 http://dev.mysql.com/downloads/mysql/5.0.html,下载windows平台下的 mysql ,选择 Windows ZIP/Setup.EXE (x86) 最新版本是 5.1.51 ,下载即可。直接安装,安装完成后,可以进入配置向导,设置mysql数据库密码。一切OK。
关于mysql的安装与配置见:phpMyAdmin安装配置方法和问题解决
pharmar安装过程中遇到的错误:
在 Windows 下安装 PHP 后 Apache 出现 LoadMole takes two arguments 的错误,这个主要原因就是httpd.conf中的这句:
LoadMole php5_mole D:\Program Files\PHP\php5apache2_2.dll
解释程序把Program Files中的空格当成了两个参数的分隔符号,因此语句中不能出现空格。在网上找了半天也没找到解决方法,最后用一级目录符号才解决问题,改成如下:
LoadMole php5_mole ../php/php5apache2_2.dll
因为apache安装在D:\Program Files\Apache\目录下,PHP安装在D:\Program Files\php\,因此../就表示D:\Program Files\目录,这个终于搞定了,希望大家在安装与配置过程中多动动脑筋总会有办法的。
‘陆’ 如何安装PHP模块
php模块安装的方式
1、静态安装
将先将在安装php之前先将需要安装的程序装上,如ftp、mhash、mcrypt……安装完成后,解压php安装包,执行./configure
--with-ftp
--with-mhash
--wth-mcrypt等等。后面具体跟的参数可以参看./configure
--help查看。编译好后,执行make
&&
make
install
就行了。
2、动态安装
而在往往我们进行编译php时经常会忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想再重新装php,于是可以采用phpize来动态加载需要安装的模块。
具体实现方法如下(这里以忘记安装pdo_mysql模块为例):
cd
/root/source/php-5.3.10/ext/pdo_mysql
/usr/local/php/bin/phpize
在安装完mysql后,并不是进入/root/source/mysql-5.5.21目录运行phpize,而是进入php的源文件中要增加的扩展模块的文件目录---也就是/root/source/php-5.3.10/ext/pdo_mysql目录执行phpize。如果不是这样操作的话就会提示下面的错误:
Cannot
find
config.m4.
Make
sure
that
you
run
'/usr/local/php/bin/phpize'
in
the
top
level
source
directory
of
the
mole
关于上面的这个错误,我不得不鄙视下网上有些自以为是的家伙,自认为对所有的安装操作很懂,报上面的错误的时候,去修改源代码,搞的乱七八糟,误人子弟。根本不按php官方的文档操作。
目录/root/source/php-5.3.10/ext/pdo_mysql
,在运行phpize命令前并没有configure文件,只有config.m4文件。运行phpize就生成了一个可执行的configure文件。此时就可以按照下的方法编译了:
./configure
--with-php-config=/usr/bin/php-config
(还可以加一些其他的参数,可通过./configure
--help查看)
make
make
install
编译完成后会提示扩展模块生成在/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626目录。
修改php.ini文件
vi
/usr/local/php/etc/php.ini
在其文件结尾加入下面的内容:
extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626"
extension=pdo_mysql.so
安装完成后,重启php-fpm和web服务器。(因为我用的是php-fpm和tengine,如果用的是apache则也重启相应的程序,重新加载就行了)
‘柒’ apache与php的安装 现在最新版本的安装怎么安装啊 装了前面那个装后面那个都不行。求详细教程!!!
Php 安装在d:\php下
Aphache安装在d:\apache2下
网页主目录在d:/apache2/htdocs
apche的配置:apache下的conf 文件夹中的httpd.conf文件
1.安装
2.改:Listen 85 或 8085
3.改:DocumentRoot: "d:/apache2/htdocs"
4.改:<Directory: "d:/apache2/htdocs">
5.加:DirectoryIndex index.html index.html.var index.php index.htm
开始将php以mole方式与Apache相结合,使php融入Apache
加上:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
LoadMole php5_mole D:/php/php5apache2_2.dll
PHPIniDir "D:/php"
如果是apache2.0则应改为 LoadMole php5_mole D:/php/php5apache2.dll
php的配置
解压到d:\php
1.改php.ini-dist文件为php.ini
2.改doc_root =d:/apache2/htdocs
3.改extension_dir = "d:\php\ext"
4.extension= php_mssql.dll
extension=php_gd2.dll
extension=php_mbstring.dll
/*如果上一步加载了其它模块,就要指明模块的位置,否则重启Apache的时候会提示“找不到指定模块”的错误,这里介绍一种最简单的方法,直接将php安装路径、里面的ext路径指定到windows系统路径中——在“我的电脑”上右键,“属性”,选择“高级”标签,点选“环境变量”,在“系统变量”下找到“Path”变量,选择,双击或点击“编辑”,将“;D:\php;D:\php\ext”加到原有值的后面
*/
第二种
Apacher 的配置
Apache服务器安装成功后,接下来需要对它进行配置,便于和PHP的整合使用。配置Apache服务器主要是在“C:\Apache2\conf”目录下的httpd.conf文件中进行的,用记事本打开该文件。
(1)定位到“DocumentRoot”一行,可以将路径修改为你认为合适的路径,这里设置为“DocumentRoot "D:/webpage"”。
(2)定位到“DirectoryIndex index.html index.html.var”行,在其后添加一个PHP默认页,通常是index.php,添加代码为:
DirectoryIndex index.html index.html.var index.php。
(3)为了使Apache可识别PHP的相关扩展名,搜索并定位到如下部分:
<Directory "C:/Program Files/Apache Group/Apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
在其后面添加如下两行:
AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps
(4)指定PHP模块,找到并定位到如下行:
#LoadMole ssl_mole moles/mod_ssl.so
在其后添加一行:
LoadMole php5_mole c:\php5\php5apache2.dll
使它指向PHP5目录下的php5apache2.dll文件,路径一定要准确。
注意:在设置存放路径中,使用的分隔符是斜杠“/”而不是“\”。在对httpd.conf文件进行修改之后,要重新启动Apacche服务器才能生效。
到此Apache服务器的安装和配置已经完成。你可以在指定的路径下面放置一个文件,如user.txt,然后在浏览器中输入“http://127.0.0.1/updown/user.txt”,就可以打开该文件。
Windows下PHP的安装配置
接下来安装PHP。PHP同样也是一种免费软件,可以在http://www.php.net/downlo ads.php地址下载。
下载的文件是一个ZIP压缩文件,可以直接将其解压到一个目录下,无需安装。这里将其解压到“C:\php5”目录下,如图1所示。
图1 PHP文件包
具体的连接PHP和Apache的步骤如下。
(1)复制C:\php5\目录下的.dll文件到C:\windows\ system32\(如果是Windows 2000操作系统,则为C:\WINNT\ system32\)目录下。
(2)把C:\php5\目录下的pphp.ini-dist文件复制到C:\windows\(如果是Windows 2000操作系统,则为C:\WINNT\)目录下。将php.ini-dist重命名为php.ini,并用记事本打开并进行入下操作。
① 定位到register_globals = Off,将Off改为On;
② 定位到extension_dir =".\",将路径改为"C:\php5\ext";
③ 查找到Windows Extensions,将
; extension=php_gd2.dll
; extension=php_mysql.dll
前面的“;”去掉,如果需要使用其他的模块,把前面的“;”去掉就可以了。然后保存并关闭该文件。
这就是简单的PHP配置,在PHP的官方论坛上可以查看到更多的详细配置。由于使用版本的不同,php.ini的配置也存在差别。本书光盘中提供了配置好的php.ini和httpd.conf文件。
PHP配置完成以后,需要重新启动Apache服务器,然后在记事本中输入如下代码:
<?php phpinfo() ; ?>
将该代码保存到D:/webpage 目录下,文件名为cheshi.php。在浏览器中输入“http://127.0.0.1/updown/cheshi.php”,如果配置正确,则显示如图3所示的页面。
‘捌’ PHP典型模块与项目实战大全:PHP能做什么
PHP能做什么
PHP初学者的一个主要疑问就是 PHP能用来做什么?按照PHP手册上的经典解释就是 PHP能做任何事!
下面为读者具体的介绍PHP主要的应用领域 PHP是运行于服务端的脚本程序 因此可以用其完成任何CGI(Common Gateway Interface)程序能够完成的工作 CGI工作流程如图 所示 CGI主要用于完成在B/S(Browser/Server)模式下的应用开发 例如 动态页面输出 获取表单数据 创建或接收Session/Cookies
图 CGI工作流程示意图
PHP主要应用于以下 个领域
服务端脚本
服务器脚本运行模式需要具备 个条件 PHP解析器(CGI或者服务器模块) Web服务器 Web浏览器
具体执行流程 首先运行Web服务器 然后安装并配置PHP 最后可以用Web浏览器访问PHP程序的输出 即浏览服务端的PHP页面(或数据输出)
命令行脚本
通过命令行模式运行PHP脚本 这种模式下不需要服务器的支持或者依赖浏览器的触发 在命令行脚本模式下仅需要PHP解析器来执行 通常这种方法被用在Windows和Linux平台下做日常运行脚本使用 如某些守护程序等 当然这些脚本也可以用来处理简单的文本
编写桌面应用程序
PHP也许并不完全适合用来做图形界面应用程序 但是开发人员同样可以在客户端程序应用某些PHP的高级特性 通过使用PHP GTK来编写这些程序 PHP GTK是PHP的一个扩展 并不包含在标准的开发包中 开发人员需要单独编译它 通过PHP GTK可以建立独立的GUI(用户图形界面)应用程序 例如 音频播放器 文本编辑器 数据库后台等
返回目录 PHP典型模块与项目实战大全
编辑推荐
Java Web开发详解
PHP Web开发学习实录
lishixin/Article/program/PHP/201311/21535
‘玖’ 安装PHP扩展模块 为PHP添加mcrypt模块了
上面提供的静态编译的方法,是把所有的模块都打包进 php 主程序中,这样做的好处是,模块直接联系紧密,调用该模块中的函数效率会更高,免去了 寻找模块,加载模块的时间。
静态编译也就是 全部重新编译了,只是根据需求,增燃陪加了configure后面的参数。
还有一种是 所谓的 动态编译 比如现在有一个网站,需要增加某个模块,但是网站不允许停顿如此长的时间,那么就刻意选择这样。
以 curl模块为例
进入 php 的 源码包的 ext 目录下的 curl
执行
/usr/local/php/bin/phpize
会生成只针对此模块的租段腔 configure 文件弊衫
./configure --with-php-config=/usr/local/php/bin/php-config --with-curl=[dir]
make
make install
然后 后显示出来 编译后的 curl.so 所在的路径
复制此文件 到 模块目录下 配置php.ini 文件 重启 apache 或者 php-cgi
配置就生效了。