PHP 通常被安装在 Linux/Unix 操作系统上,并且搭配 Apache 服务器一起使用。在将 PHP 与 Apache 服务器一起安装的时候,你有三种不同的安装方式可以选择:静态模块,动态共享对象(Dynamic Shared Object, DSO)以及 CGI 程序执行文件。 

在这里我建议大家使用动态共享对象的模式来安装 PHP,这是因为这种安装方式为日后的维护与升级提供了极大的便利。假设你一开始安装 PHP 的时候,只加入了PHP 的数据库相关模块。几天以后你决定再加装 PHP 的编码功能相关模块,这时候你只需要在你的系统命令列输入 make clean 指令,然后输入新的 PHP 设定选项,然后再输入 make 与 make install 指令,接下来系统就会产生一个新的 PHP 动态共享对象,并且安装到 Apache 服务器所指定的适当目录位置去了。接下来你要做的只是重新激活 Apache 服务器就行了,你就不需要把 Apache 服务器整个重新编译过。 

下面几个基本步骤可以让你安装一套全新的 Apache 服务器,并且内含 PHP 动态加载模块: 

1.到 http://www.apache.org/dist/下载最新版本的 Apache 服务器原始码。 

2.将取得的档案复制到某个有意义的目录位置,例如 /usr/local/ 或者 /opt/ ,或者其它你觉得适当的目录位置。 

3.将取得的档案解压缩,解开以后你会得到一些 *.tar 档案。 

4.输入下面的指令将这些 *.tar 档案解开,并且将解开的档案放置到一个名叫 apache_[version] 的目录位置: 

tar -xvf apache_[version].tar  

5.输入 cd 指令将工作目录切换到 /usr/local/apache_[version](如果你在上一个步骤把 *.tar 档案解到其它不同目录,那么就切换到你所指定的目录去) 

6. 输入下面的指令准备编译程序,记得将下面指令里面的 [path] 部分代换成你自己的目录名称,例如 /usr/local/apache[version] (不要加上最后面的斜线!)。这个步骤所做的工作是激活 mod_so,如此一来 Apache服务器才可以使用动态共享对象。 

./configure --prefix=[path] --enable-module=so  

7.等到系统回到命令提示符号,输入 make,然后继续等候系统回到命令提示符号。 

8.输入 make install指令。 

此时编译程序将会产生最后需要用到的目录与档案,完成以后会再度回到命令提示符号。 

接下来可以开始安装 PHP 了: 

1.到 PHP 官方网站:http://www.php.net/downloads.php 下载最新版本的 PHP 原始程序代码。 

2.将取得的档案放置到某个有意义的目录位置,例如 /usr/local/ 或者 /opt/ ,或者其它你觉得适当的目录位置。 

3.将取得的档案解压缩,解开以后你会得到一些 *.tar 档案。 

4.输入下面的指令将这些 *.tar 档案解开,并且将解开的档案放置到一个名叫 php-[version] 的目录位置: 

tar -xvf php-[version]  

5.输入 cd 指令将工作目录切换到 /usr/local/php-[version](如果你在上一个步骤把 *.tar 档案解到其它不同目录,那么就切换到你所指定的目录去)。现在你就可以开始编译 PHP 动态共享对象了,真正必须的设定选项只有一个:--with-apxs(这是一个位在 Apache 服务器安装位置下的 bin 目录里面的一个档案)。不过在这里我建议把 PHP 的 MySQL 相关模块也一起加入。 

./configure --with-mysql=/[path to mysql] --with-apxs=/[path to apxs]  

6.等到系统回到命令提示符号,输入 make指令,然后继续等候系统回到命令提示符号再输入make install指令。 

接下来编译程序便会产生我们最后要使用的 PHP 动态共享对象,将它放置到Apache 用来放置动态共享对象的目录下,并且替你修改 Apache 服务器设定档 httpd.conf 的某些部分,最后系统会再度回到命令提示符号。等你回到命令提示符号以后,你必须回头去修改 httpd.conf 档案,里面有些设定必须修改: 

1.找出 ServerAdmin 那一行,把你的 email 信箱加上去,也就是把那一行修改成: ServerAdmin you@yourdomain.com 

2.找出 ServerName 那一行,并且将服务器名称设定好,例如:ServerName localhost 

3.找出下面这一段设定: 

# And for PHP 4.x, use:
#
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps 

你必须修改这里的设定值,把 AddType 那两行前面的#符号去掉(这里的#符号是代表批注),并且加入其它你想要配合 PHP 程序使用的扩展名,修改完以后这段设定看起来应该像是(请注意里面的 .php 和 .phtml 就是将来你可以用来分辨 PHP 程序的扩展名): 

# And for PHP 4.x, use:
#
AddType application/x-httpd-php .php .phtml 
AddType application/x-httpd-php-source .phps 

把 httpd.conf 存盘,输入 cd 指令回到上一层目录,然后输入下面的指令激活Apache 服务器: 

./bin/apachectl start  

如果激活过程没有任何错误讯息出现的话,接下来我们就可以开始测试看看刚刚安装好的 Apache 服务器和 PHP 模块是不是真的一切无误了。请建立一个档案,命名为 phpinfo.php,里面只要输入下面这行 PHP 程序代码就可以了: 

<? phpinfo() ?> 

将档案存盘,然后把它放置到 Apache 服务器的文件根目录(该目录名称是 htdocs)去。启动你的浏览器,在地址列输入 http://localhost/phpinfo.php,如果一切安装无误的话,你应该会看到一个很长的网页,上面显示了完整的 PHP系统设定信息,这表示我们已经顺利安装完成 Apache 服务器和 PHP 了! 

在初次安装完成以后,日后当你想要重新设定 PHP 的时候(比方说加入原本没有安装的 PHP 模块),你只需要在系统命令提示符号下输入 make clean指令,然后输入新的 ./configure设定指令,再输入 make和 make install指令,系统便会产生一个新的PHP动态共享对象。 接下来你只需要重新激活 Apache 服务器让它重新加载刚刚建立好的新模块即可。只需要几个简单的步骤便可以解决掉一堆烦人的问题了! 

如何使用动态共享对象的模式来安装PHP的更多相关文章

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. Html5实现首页动态视频背景的示例代码

    这篇文章主要介绍了Html5实现首页动态视频背景的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  3. ios – 在Swift中动态创建uiviewcontroller

    我想动态创建UIViewController而不创建类或使用Mainstoryboard.我希望它以编程方式发生.这可能吗?

  4. 使用iOS故事板动态调整UILabel的高度

    我有一个标签,它是使用iOSStoryboard布局创建的.但是,标签的内容是动态的,可以在运行时更改.如何确保根据标签中的内容调整标签的高度.我试过了:将行数设置为0设置编辑器–>适合内容的大小.但它们不起作用.标签中的文本仅以单行打印,因此某些文本不会出现在屏幕上.任何帮助将受到高度赞赏.解决方法试试这种方式你的标签应该是0的行数给标签赋予高度约束并选择高度约束然后设置大于等于,它将根据内容自动调整高度

  5. ios – 如何以编程方式动态地对UIButton的背景图像进行着色?

    我正在开发一个应用程序–或者更确切地说是一些可重用的“框架”,我很乐意在它工作时分享它.在此应用程序中,用户应该能够从颜色主题列表中进行选择.因此,应用程序必须能够以某种相当动态的方式对其UI元素进行着色.对于按钮,所有着色都不起作用.必须在此处提供正确着色的背景图像.但是为每个人准备一套背景图像只是第二好的.它不够动态和灵活.最后,解决方案可能归结为为所选和正常状态提供一个单色(灰色)梯度图像,

  6. ios – Firebase动态链接中的customURLScheme是什么?

    在documentation中它说要将以下行添加到我的AppDelegate.swift:根据我的理解,这应该是您在info.plist中添加的相同链接.但是,我很困惑为什么在quickstart-iosrepo他们决定将其等同于“dlscheme”.任何人都可以帮我理解这个方案究竟是什么?

  7. ios – 在动态构建的分段控件的导航栏中自动调整大小

    控制器将UISegmentedControl添加到导航栏.分段控件添加到控制器的viewDidLoad方法的导航栏中,但实际的段是在调用viewDidLoad后动态创建的.显示视图时,我无法自动调整分段大小.他们都被挤压,likeinthispost,虽然这里的决议不适用.如果在将分段控件添加到导航栏的右侧项目之前添加了段,则会自动调整它们的大小并在显示视图时看起来很好.这是我的代码的精简版本,如下所示.我错过了什么?

  8. Autolayout iOS 6动态表格单元格高度

    我有UITableviewCell子类.在这个单元格中,我有2个标签和一个显示评级星的视图.我想要lbl评论的动态高度来适应所有的文本.它应该扩大&根据评论的长度收缩高度.我已经实现了这一点,但没有AutoLayout如下现在我使用AutoLayout功能.如何使用Autolayout实现这一点?

  9. 动态模拟iOS动态类型系统文字大小(UIContentSizeCategory)

    解决方法多么尴尬!

  10. ios – 链接动态(Cocoa Touch)框架内的静态库

    我有一个链接到谷歌地图的动态框架(据我所见,它仍然是一个静态库,如果不是这样,只是一个框架包装).问题是,框架与静态库链接,并且似乎直接包含其代码,因为我不需要在使用框架的应用程序中链接或嵌入Google地图,并且一切正常.除非我在应用程式内使用Google地图.无论是在编译阶段获得“架构XY的未定义符号”,还是将GoogleMaps与之链接起来,然后在应用启动期间在调试控制台中收到警告墙,如:C

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部