PHP相关环境配置大全(不断更新ing)

以后会经常用到PHP,以此作备忘,算是PHP配置大全吧

WINDOWS篇(本文使用的OSWINDOWS XP SP3

本篇中使用的所有程序和框架版本以及下载地址如下:

PHP

php-5.3.10-Win32-VC9-x86.zip

下载地址: http://windows.php.net/download/

APACHE

httpd-2.2.22-win32-x86-no_ssl.msi

下载地址:http://httpd.apache.org/download.cgi

Mysql

mysql-5.5.22-win32.msi

下载地址: http://www.mysql.com/downloads/(官方下载需要注册)

Memcached

memcached-1.2.6-win32-bin.zip

下载地址: http://code.jellycan.com/memcached

php_memcache.dll

php_memcache-2.2.6-5.3-vc9-x86.zip

下载地址: http://downloads.php.net/pierre/

Smarty

Smarty-3.1.8.zip

下载地址: http://www.smarty.net/download

Zend Framework

ZendFramework-1.11.11.zip

下载地址: http://framework.zend.com/download/latest

————————————————————————

1)Apache安装

——————-

a) 一路NEXT直到Server Imformationnetwork domain server name自拟,本地测试就都写localhost,邮件随便填。

b) NEXT后选Custom可以改安装路径,默认安装路径为C:\ProgramFiles\Apache Software Foundation\Apache2.2\,笔者是改为D:\local\apache\。接着Install

c) 之后打开浏览器输入http://localhost/,可以看到安装成功页面。

d) 往后进行开发时网页的存放路径为D:\loacl\apache\htdocs

2)Php安装

——————-

a) 把压缩文件解压到D:\local\php

b) 找到目录下的php.ini-xxx,注意,此处xxx可能为production或者development,区别在于安全设定不同,php.ini-production适用于生产环境,做开发的话就使用php.ini-development,把php.ini-development改名为php.ini

c) 修改D:\local\apache\conf下的httpd.conf

这里有两种不同的改法,取决于Phpapache下的运行模式:

1. CGI模式(IIS下推荐,APACHE下请参照第二条)

httpd.conf中加上以下几行:

ScriptAlias/PHP/ ” D:\local\php”

AddType application/x-httpd-PHP.PHP

Action application/x-httpd-PHP “/PHP/PHP-CGI.exe”

修改php.ini,设置CGI.force_redirect=0

2.  ISAPI模式(APACHE下推荐):

httpd.conf中加上以下几行:

LoadModule php5_module”D:/local/php/php5apache2_2.dll”

PHPIniDir “D:/local/php”

AddType application/x-httpd-php .php

:根据版本不同php5apache2_2.dll的文件名会有所变化如php5apache.dll, php5apache2_3.dll.

d) 之后在新建一个php测试文件1.php,代码如下

<?php phpinfo(); ?>

保存文件后,重启apache,打开浏览器输入http://localhost/1.php,可以看到php版本信息页面。

3)Mysql安装

——————-

a) 一路NEXT直到Choose Setup Type,选Custom可以改安装路径,默认安装路径为C:\Program Files\MySQL\MySQL Server 5.5\,我改为D:\local\apache\。接着Install

b) 接着是进行最后的配置,如果是初次安装的话可以连续三次next,在server type中选择第二个Server Machine

c) next后到database usage,这里按需选择,需要经常使用两个储存引擎InnoDBMyISAM选第一个,主要使用InnoDB选第二个,只用MyISAM的选第三个,这里选第三个。

d) next后到 approximate number如果服务器不需要大量的并行连接选第一个,需要大量的并行连接则选择第二个,想要手动设置服务器并行连接的最大数目选第三个,这里我们选第三个设置为200300之间,其实对localhost测试来讲,这个并不重要。

e) next后到 networking options,这里是端口选择,默认为3306,一般不需要更改。

f) nextdefault character set,选择默认字符集,这里我们选择第三个,并把下拉框选项改为GBK

g) nextset the windowsoptions,两个勾都勾上。

h) next,把第一项前面的勾取消,因为是本地环境,而不是服务器或虚拟主机。

i) 最后next再加EXECUTE,安装完成。

j) CMD中输入 mysql -uroot -p,提示输入密码,因为此处密码为空,所以直接回车即可。可以看见提示信息并进入mysql

4)PhpMysql连接

——————-

a) 修改php.ini

1. 去掉extension_dir= “ext”前的;号;

2. 去掉extension=php_mysql.dll前的;号,往后需要开启其他扩展时也是这样修改。

b) 测试是否能连接,新建一个php文件输入如下代码:

<?php

echo $link=mysql_connect(“localhost”,”root”,””);

?>

保存文件后重启apache,打开该页面,如页面显示为Resource id #数字,则连接成功

5Memcached

——————-

1. 解压MemcachedD:\local\,进入cmdCD Memcached目录下,输入

1) memcached -d install

2) memcached -d start

2. 安装好memcached以后,把php_memcache.dll copyphp(php.ini指定)ext目录

3. php.ini中增加

extension=php_memcache.dll

重启apache,测试是否配置成功,新建一个php文件输入如下代码:

<?php

$memcache = new Memcache;

$memcache->connect(“localhost”,11211);

echo “memcache版本为”.$memcache->getVersion(); //获取memcache版本信息

?>

如页面显示格式如1.2.6的数字,则配置成功。

6Smarty

——————-

1. Smarty中的libs文件夹解压到D:\local\smarty\

2. PHP配置文件php.ini中的include_path改成Smarty目录\libs,如本文中把这里是改成D:\local\smarty\libs

3. 在站点根目录建立一个目录smarty,在该目录下新建4个目录,分别为cachetemplatestemplates_c config

4. 在新建的templates目录下新建一个模板文件:index.tpl,测试代码如下:

<html>

<body>

Hello, {$name}!

</body>

</html>

5. 在网站根目录下新建index.php,代码如下:

<?php

require(‘Smarty.class.php’);

$smarty = new Smarty;

$smarty->template_dir = ‘网站根目录绝对路径/Smarty/templates’;

$smarty->config_dir = ‘网站根目录绝对路径/Smarty/config’;

$smarty->cache_dir = ‘网站根目录绝对路径/Smarty/smarty_cache’;

$smarty->compile_dir = ‘网站根目录绝对路径/Smarty/Smarty_templates_c’;

$smarty->assign(‘name’,world’);

$smarty->display(‘index.tpl’);

?>

6. 如页面显示为 Hello, world!则表示安装成功。

7. 另外,经常在不同主机上把代码拖来拖去的开发者,也可以把libs目录放在站点根目录下的smarty目录中,使用的时候只要把上例中的

require(‘Smarty.class.php’);

改成

require(‘smarty/libs/Smarty.class.php’);

就可以了(此处仅适合于根目录的php文件,在其他子目录中的php在使用时请注意相对路径的问题).

7)ZendFramework

——————-

本文中我们使用Zend_Tool创建ZendFramework 项目

1. ZendFramework解压到D:\local\,把文件夹名字改为Zendframework.

2. 开启apachemod_rewrite支持,即在httpd.conf 中把

#LoadModule rewrite_module modules/mod_rewrite.so前面的#去掉

3. PHP版本在5.3以下的还需要开启PDO扩展, 即在php.ini中把

;extension=php_pdo.dll

;extension=php_pdo_mysql.dll

;extension=php_pdo_pgsql.dll

;extension=php_pdo_sqlite.dll

;extension=php_pdo_mssql.dll

;extension=php_pdo_odbc.dll

;extension=php_pdo_firebird.dll

前面的 ; 去掉(5.3以上的版本已经内置了PDO,不再需要动态加载)

在环境变量中添加ZendFramework\bin 目录和php目录的绝对路径,如在本例中改路径为

D:\local\php;

D:\local\ZendFramework\ZendFramework\bin

4. CMD中输入zf show version ,如果显示Zend Framework VersionX.XX.XX(版本号,X10进制数字),就可以Zend_tool来创建Zend framework项目了。

5. 继续使用CMD ,cd 到网站根目录下,输入zf create project demo, 如果输出:Creating project at 网站目录\demo,则表示Zend Framework项目创建成功。

6. 打开demo文件夹,里面的application为程序主目录,配置文件,控制器,模板,模型等都在这里实现;library文件夹放置zend framework类库,所以,需要将下载的Zend framework下面library下的Zend文件夹复制一份到这里public文件夹为网站目录,程序入口文件(index.php)CSS文件,图片文件一般放置在这里;tests文件夹放置测试程序。其他目录和文件在此不作介绍。

7. 在浏览器地址栏中输入http://localhost/demo/public/index.php,如果出现Zend Framework的欢迎界面,则表示配置完成。

————————————————————————-

PS:一些需要注意的东西- –

——————-

关于PHP5

PHP5官方在WIN x86下有4个版本

VC9 x86Non Thread SafeVC9 x86 Thread SafeVC6 x86 Non ThreadSafeVC6 x86Thread Safe

VC9版本是针对IIS服务器的版本,没有对APACHE的支持,而VC6版本对IISapache都提供了支持。

如果你是在 windows 下使用 Apache+PHP 的,请选择 VC6 版本;

如果你是在 windows 下使用 IIS+PHP 的,请选择 VC9 版本;

(笔者注:这里所说的 apache2 必须搭配php5 VC6版可能有误,本文所使用的是apache2+php5 VC9,莫非是最新的VC9版添加了对apache的支持?笔者在此处不敢妄下定论,望对此有研究的大牛解答.)

使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。

对于IIS ISAPI来说大多选择isapi方式对于apache服务器来说一般选择isapi方式,而对于nginx服务器则选择FastCGI方式。

官方并不建议你将Non Thread Safe (非线程安全)应用于生产环境,所以我们选择Thread Safe(线程安全) 版本的PHP来使用

关于Apache

withOpenSSL是表示带有OpenSSL模块,利用OpenSSL就可以给Apache配置SSL安全链接的,也就是使用https://方式进行访问;no ssl则表示不带OpenSSL模块

关于php_memcache.dll

配置memcached时需要这个DLL,它与memcached的关系可以理解成serverclient,需要注意的是, php_memcache.dll的版本必须与PHP一致,这里的一致包括编译器版本、PHP版本以及系统版本。

作者: qingfeng

清风扬.博客老前辈

发表评论

邮箱地址不会被公开。 必填项已用*标注