如何使用动态共享对象的模式来安装PHP
发布网友
发布时间:2023-08-05 11:07
我来回答
共1个回答
热心网友
时间:2024-10-23 09:59
PHP通常被安装在Linux/Unix操作系统上,并且搭配Apache服务器一起使用。在将PHP与Apache服务器一起安装的时候,你有三种不同的安装方式可以选择:静态模块,动态共享对象(DynamicSharedObject,DSO)以及CGI程序执行文件。
在这里我建议大家使用动态共享对象的模式来安装PHP,这是因为这种安装方式为日后的维护与升级提供了极大的便利。假设你一开始安装PHP的时候,只加入了PHP的数据库相关模块。几天以后你决定再加装PHP的编码功能相关模块,这时候你只需要在你的系统命令列输入makeclean指令,然后输入新的PHP设定选项,然后再输入make与makeinstall指令,接下来系统就会产生一个新的PHP动态共享对象,并且安装到Apache服务器所指定的适当目录位置去了。接下来你要做的只是重新激活Apache服务器就行了,你就不需要把Apache服务器整个重新编译过。
下面几个基本步骤可以让你安装一套全新的Apache服务器,并且内含PHP动态加载模块:
1.到http://www.apache.org/dist/下载最新版本的Apache服务器原始码。
2.将取得的档案复制到某个有意义的目录位置,例如/usr/local/或者/opt/,或者其它你觉得适当的目录位置。
3.将取得的档案解压缩,解开以后你会得到一些*.tar档案。
4.输入下面的指令将这些*.tar档案解开,并且将解开的档案放置到一个名叫apache_[version]的目录位置:
tar-xvfapache_[version].tar
5.输入cd指令将工作目录切换到/usr/local/apache_[version](如果你在上一个步骤把*.tar档案解到其它不同目录,那么就切换到你所指定的目录去)
6.输入下面的指令准备编译程序,记得将下面指令里面的[path]部分代换成你自己的目录名称,例如/usr/local/apache[version](不要加上最后面的斜线!)。这个步骤所做的工作是激活mod_so,如此一来Apache服务器才可以使用动态共享对象。
./configure--prefix=[path]--enable-mole=so
7.等到系统回到命令提示符号,输入make,然后继续等候系统回到命令提示符号。
8.输入makeinstall指令。
此时编译程序将会产生最后需要用到的目录与档案,完成以后会再度回到命令提示符号。
接下来可以开始安装PHP了:
1.到PHP官方网站:http://www.php.com/downloads.php下载最新版本的PHP原始程序代码。
2.将取得的档案放置到某个有意义的目录位置,例如/usr/local/或者/opt/,或者其它你觉得适当的目录位置。
3.将取得的档案解压缩,解开以后你会得到一些*.tar档案。
4.输入下面的指令将这些*.tar档案解开,并且将解开的档案放置到一个名叫php-[version]的目录位置:
tar-xvfphp-[version]
5.输入cd指令将工作目录切换到/usr/local/php-[version](如果你在上一个步骤把*.tar档案解到其它不同目录,那么就切换到你所指定的目录去)。现在你就可以开始编译PHP动态共享对象了,真正必须的设定选项只有一个:--with-apxs(这是一个位在Apache服务器安装位置下的bin目录里面的一个档案)。不过在这里我建议把PHP的MySQL相关模块也一起加入。
./configure--with-mysql=/[pathtomysql]--with-apxs=/[pathtoapxs]
6.等到系统回到命令提示符号,输入make指令,然后继续等候系统回到命令提示符号再输入makeinstall指令。
接下来编译程序便会产生我们最后要使用的PHP动态共享对象,将它放置到Apache用来放置动态共享对象的目录下,并且替你修改Apache服务器设定档httpd.conf的某些部分,最后系统会再度回到命令提示符号。等你回到命令提示符号以后,你必须回头去修改httpd.conf档案,里面有些设定必须修改:
1.找出ServerAdmin那一行,把你的email信箱加上去,也就是把那一行修改成:ServerAdminyou@yourdomain.com
2.找出ServerName那一行,并且将服务器名称设定好,例如:ServerNamelocalhost
3.找出下面这一段设定:
#AndforPHP4.x,use:
#
#AddTypeapplication/x-httpd-php.php
#AddTypeapplication/x-httpd-php-source.phps
你必须修改这里的设定值,把AddType那两行前面的#符号去掉(这里的#符号是代表批注),并且加入其它你想要配合PHP程序使用的扩展名,修改完以后这段设定看起来应该像是(请注意里面的.php和.phtml就是将来你可以用来分辨PHP程序的扩展名):
#AndforPHP4.x,use:
#
AddTypeapplication/x-httpd-php.php.phtml
AddTypeapplication/x-httpd-php-source.phps
把httpd.conf存盘,输入cd指令回到上一层目录,然后输入下面的指令激活Apache服务器:
./bin/apachectlstart
如果激活过程没有任何错误讯息出现的话,接下来我们就可以开始测试看看刚刚安装好的Apache服务器和PHP模块是不是真的一切无误了。请建立一个档案,命名为phpinfo.php,里面只要输入下面这行PHP程序代码就可以了:
<?phpinfo()?>
将档案存盘,然后把它放置到Apache服务器的文件根目录(该目录名称是htdocs)去。启动你的浏览器,在地址列输入http://localhost/phpinfo.php,如果一切安装无误的话,你应该会看到一个很长的网页,上面显示了完整的PHP系统设定信息,这表示我们已经顺利安装完成Apache服务器和PHP了!
在初次安装完成以后,日后当你想要重新设定PHP的时候(比方说加入原本没有安装的PHP模块),你只需要在系统命令提示符号下输入makeclean指令,然后输入新的./configure设定指令,再输入make和makeinstall指令,系统便会产生一个新的PHP动态共享对象。接下来你只需要重新激活Apache服务器让它重新加载刚刚建立好的新模块即可。只需要几个简单的步骤便可以解决掉一堆烦人的问题了!
如何搭建lamp环境
[root@localhostphp-5.3.19]# make install[root@localhostphp-5.3.19]# cp -vRp php.ini-development /etc/php.ini[root@localhostphp-5.3.19]# vi /usr/local/apache/conf/httpd.conf添加上:AddType application/x-httpd-php .php[root@localhostphp-5.3.19]# service httpd stop[root@localhostphp-5.3....
LINUX操作系统课程设计:企业服务器的配置与实现怎样做
Apache对模块的使用有两种方法,一种是将其永久性地编译Apache内核中,即采用静态编译;另一种是采取动态编译,将其编译成DSO(Dynamic shared object,动态共享对象)模块,DSO模块的存储是独立于内核的,可被内核在需要时调用,具体是由mod_so模块提供的运行时配置指令(LoadModule)来实现的,若在编译中包含有任何动态模块,则...
php面向对象和面向过程的区别?
3)对象式的编程先不管步骤,而是确定对象的存在去然后通过对象来实施行为,然后去通知另外一个对象自己的行为,而不是按照流程对计算机进行命令:就像管理系统 4)我认为面向过程和面向对象的主要分别在于对方法功能的使用上不同,面向过程是为了解决一个问题将功能步骤依次使用,即使划分模块也是为了解决子问题而执行步骤,由...
ASP.JSP还是PHP比较好?我想学动态网页.哪种比较好?
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面...
php设计模式有哪几种?
单例模式实现1:公共类Singleton{ 类共享实例对象 私有静态单例;单例=零;//私有构造函数 私有Singleton(){ 系统。出去了。这是单例!!);} //获取单例方法 公共同步静态单例getInstance(){ //确定共享对象是否为空,如何空一个新对象 If(singleton==null){ singleton=new...
django的mvc是什么(djangomvt)
工厂模式、适配器模式、策略模式等等简而言之:框架模式是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率、降低耦合度。编辑本段MVC框架模式的优点大部分Web应用程序都是用像ASP,PHP,或者CFML这样的过程化语言来创建的。它们将像数据库查询语句这样的数据层代码和像HTML这样...
什么是动态java和空间html
脚本引擎是处理脚本程序的COM(Component Object Model) 对象。 6. 可使用服务器端的脚本来产生客户端的脚本。 7. ActiveX Server Components(ActiveX 服务器组件 )具有无限可扩充性。可以使用Visual Basic 、Java 、Visual C++、COBOL等程序设计语言来编写你所需要的ActiveX Server Component 。 PHP: 1?数据库连接 ...
按开始《运行>>msconfig>>启动>>服务后显示的英文意思我看不懂!_百...
如果这个服务被停止,DDE 传输和安全性将无法使用。如果这个服务被停用,任何明确依存于它的服务将无法启动。补充: 一般人好像用不到依存: Network DDE DSDM、ClipBook建议: 已停用Network DDE DSDM (网络 DDE DSDM)微软: 讯息动态数据交换 (DDE) 网络共享。如果这个服务被停止,DDE 网络共享将无法使用。如果这个服务...
digital fusion用在pc机上效果如何?
完整的Discreet高端跟踪工具,.可以在任何一个跟踪点上进行关键帧参数调节;对移动、旋转和放大的跟踪进行精确的运动分析,对模糊对象和屏外物体进行自动推断;和inferno*、flame*、flint*、fire*、smoke*共享跟踪数据,输出跟踪数据到其它合成系统,并以ASCII跟踪数据模式输入;四点跟踪模式;图像稳定功能来控制不必要的摄像机...
php是什么类型的语言(php是什么类型的语言软件)
功能应有尽有很全面,开箱即用程序代码简洁;PHP数组支持动态扩容,支持以数字、字符串或者混合键名的关联数组,能大幅提高开发效率;PHP是一门弱类型语言,程序编译通过率高,相对其他强类型语言开发效率快;PHP天然热部署,在php-fpm运行模式下代码文件覆盖即完成热部署;PHP经过20多年的发展,在互联网上可以搜到海量的参考...