以后会经常用到PHP,以此作备忘,算是PHP配置大全吧
WINDOWS篇(本文使用的OS为WINDOWS 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 Imformation,network 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,
这里有两种不同的改法,取决于Php在apache下的运行模式:
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,这里按需选择,需要经常使用两个储存引擎InnoDB和MyISAM选第一个,主要使用InnoDB选第二个,只用MyISAM的选第三个,这里选第三个。
d) next后到 approximate number,如果服务器不需要大量的并行连接选第一个,需要大量的并行连接则选择第二个,想要手动设置服务器并行连接的最大数目选第三个,这里我们选第三个设置为200到300之间,其实对localhost测试来讲,这个并不重要。
e) next后到 networking options,这里是端口选择,默认为3306,一般不需要更改。
f) 再next到default character set,选择默认字符集,这里我们选择第三个,并把下拉框选项改为GBK。
g) 再next到set the windowsoptions,两个勾都勾上。
h) 再next,把第一项前面的勾取消,因为是本地环境,而不是服务器或虚拟主机。
i) 最后next再加EXECUTE,安装完成。
j) 到CMD中输入 mysql -uroot -p,提示输入密码,因为此处密码为空,所以直接回车即可。可以看见提示信息并进入mysql。
4)Php与Mysql连接
——————-
a) 修改php.ini:
1. 去掉extension_dir= “ext”前的;号;
2. 去掉extension=php_mysql.dll前的;号,往后需要开启其他扩展时也是这样修改。
b) 测试是否能连接,新建一个php文件输入如下代码:
<?php
echo $link=mysql_connect(“localhost”,”root”,””);
?>
保存文件后重启apache,打开该页面,如页面显示为Resource id #数字,则连接成功
5)Memcached
——————-
1. 解压Memcached到D:\local\,进入cmd,CD到 Memcached目录下,输入
1) memcached -d install
2) memcached -d start
2. 安装好memcached以后,把php_memcache.dll copy到php的(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的数字,则配置成功。
6)Smarty
——————-
1. 将Smarty中的libs文件夹解压到D:\local\smarty\
2. 将PHP配置文件php.ini中的include_path改成Smarty目录\libs,如本文中把这里是改成D:\local\smarty\libs。
3. 在站点根目录建立一个目录smarty,在该目录下新建4个目录,分别为cache,templates,templates_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(版本号,X为10进制数字),就可以用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 Safe,VC9 x86 Thread Safe,VC6 x86 Non ThreadSafe,VC6 x86Thread Safe;
VC9版本是针对IIS服务器的版本,没有对APACHE的支持,而VC6版本对IIS和apache都提供了支持。
如果你是在 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的关系可以理解成server和client,需要注意的是, php_memcache.dll的版本必须与PHP一致,这里的一致包括编译器版本、PHP版本以及系统版本。