Apache+PHP服务器详细配置Word文档下载推荐.docx
《Apache+PHP服务器详细配置Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Apache+PHP服务器详细配置Word文档下载推荐.docx(30页珍藏版)》请在冰豆网上搜索。
![Apache+PHP服务器详细配置Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-1/26/2fbd3eab-4470-402f-afac-b632b9d35fa6/2fbd3eab-4470-402f-afac-b632b9d35fa61.gif)
如下图所示:
设定MySQL默认字符集:
以用户站点语言为准。
Windows环境设定,如下图所示:
修改设定root用户密码,注意:
不要启动远程连接模式!
完成MySQL的安装,并启动MySQL服务。
(2)测试MySQL工作是否正常。
打开cmd命令提示符窗口,输入命令:
mysql–uroot–p
输入密码后,如果能够正常进入MySQL控制台则说明MySQL安装正常。
(3)准备LibMySQL动态链接库
将F:
\MySQL\MySQLServer5.1\bin\libMySQL.dll文件复制到C:
\Windows\System32。
(4)查看MySQL目录权限
MySQL目录权限分配:
administrator:
完全控制
system:
user:
读取和运行
==============================================
第二步:
Apache2.2.X的安装
运行ApacheHTTPServer2.2.15-win32-x86-no_ssl,如下图所示:
一路点击“Next”。
由于是本机学习环境,设置相应域名即可,(本人常用localhost作为NetworkDomain及ServerName,邮箱随便填写一个就OK了)如果你的Windows系统装了IIS,就不要选择Port80,否则就没关系,后面设置时也可以调整端口(因为IIS战胜80端口,由于共用80端口,容易引起冲突)。
设置好后点击“Next”。
选择“Custom”,需要修改安装路径,点击“Next”。
如选Typical,软件则默认安装路径为C盘,选Custom(自定义)可以选择你要安装的路径。
点击“Change…”,选择要安装的路径,点击“Next”。
之后进入下一个安装窗口,点击“Install”。
稍等后,安装成功,点击“Finish”,完成Apache安装。
测试:
在Windows托盘区,你可以看到如同羽毛状的Apache图标,表示Apache安装成功并已启动。
打开浏览器,输入http:
//localhost/(或:
http:
//127.0.0.1/),测试一下:
说明Apache安装成功。
=======================================
第三步:
PHP5.3.X的安装
PHP的安装最为简单,当前版本为PHP5.3.2
将php-5.3.2-Win32-VC6-x86.zip解压至C:
\php(这是本人安装PHP的目录,安装时可以根据自己的需要选择其它安装目录)这个目录下。
======================================
第四步:
配置Apache、PHP
安装PHP很简单,但是主要的挑战在于Apache和PHP的协作配置上,这是配置PHP运行环境整个过程的重点,也是难点。
为了后面说明的更容易,在此我先把本人配置PHP运行环境时各软件安装目录先说明一下:
apache目录为:
C:
\Apache2.2,php目录为C:
\php,mysql目录为F:
\MySQL,存放PHP文件的文档目录为:
F:
\myphp。
一、建立p.ini文件
在php根目录里找到php.ini-development(另外一个文件php.ini-production是用于产品运行的典型配置),拷贝一份,然后重命名为php.ini
再将php根目录下以及ext目录内的dll文件全部拷贝到c:
\windows\system32目录内。
二、php.ini的配置:
1.打开php.ini查找extension_dir,修改如下:
extension_dir="
c:
/php/ext"
注意去掉最前面的分号。
2.查找date.timezone,修改如下:
date.timezone=Asia/Shanghai注意去掉最前面的分号。
3.搜索WindowsExtensions将以下常用扩展前面的分号去掉:
extension=php_curl.dll
extension=php_gd2.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_sockets.dll
extension=php_xmlrpc.dll
特别提示:
exif扩展是用来显示图片的exif信息的,因该扩展需要mbstring支持,所以将extension=php_exif.dll这一行移动到extension=php_mbstring.dll一行的下面。
注意最后一个php_zip.dll这个在php5.3.2的ext目录下是不存在的,所以如果开启会报错误,如果实在需要这个DLL,可以从PHP5.2中拷贝过去。
4.配置上传文件存放的临时路径,首先在php目录下新建一个tmp文件夹,打开php.ini
找到:
;
upload_tmp_dir=
改成:
upload_tmp_dir="
/php/tmp"
注意去掉前面的分号
session.save_path="
/tmp"
改成
session.cookie_path=/
session.cookie_path=C:
/php/tmp
三、配置Apache文件httpd.conf
该文件路径为:
\Apache2.2\conf\httpd.conf(一般在WIN开始菜单里的程序菜单里就能找到httpd.conf的快捷方式)。
①添加一条新指令:
#configurethepathtophp.ini
PHPIniDir"
/php"
②找到DocumentRoot"
/Apache2.2/htdocs"
,将其改为:
DocumentRoot“F:
/myphp”。
③找到<
Directory"
>
,将其改为:
<
/myphp"
④找到“#LoadModulessl_modulemodules/mod_ssl.so”,在后面一行增加:
LoadModulephp5_modulec:
/php/php5apache2_2.dll
这将允许Apache将PHP程序作为模块来运行
⑤找到“AddTypeapplication/x-gzip.gz.tgz”,在后面一行增加:
AddTypeapplication/x-httpd-php.php
AddTypeapplication/x-httpd-php.html
你也可以加入更多(.htm等等),实质就是添加可以执行php的文件类型
⑥找到:
IfModuledir_module>
DirectoryIndexindex.html
/IfModule>
将其改为:
DirectoryIndexindex.phpindex.htmlindex.htm
以便Apache能够认到index.php的Welcome文件。
如果还要配置端口的话找到
#Listen12.34.56.78:
80
Listen80
将80改为你需要的端口,一般情况是不用改的。
(不过本人习惯将#Listen12.34.56.78:
改为:
Listen127.0.0.1:
80)
⑦查找:
OptionsFollowSymLinks
AllowOverrideNone
Orderdeny,allow
Denyfromall
修改为:
Allowfromall
最后在F:
\myphp里放一个PHP文件info.php,其内容为:
?
php
phpinfo();
在系统托盘处双击Apache图标,点击Restart按钮,重启一下服务,然后打开浏览器,输入http:
//localhost/info.php
当看到如上图所示的界面时,恭喜你,这步操作你成功了!
【知识点:
php.ini的搜索顺序】
PhpIniDir是PHP的初始化文件php.ini的路径。
许多朋友将php.ini放入windows目录下,但是这不是一种好的方式,因为系统搜寻php.ini的顺序是:
(1)SAPI模块所指定的位置(Apache2中的PHPIniDir指令,CGI和CLI中的-c命令行选项,NSAPI中的php_ini参数,THTTPD中的PHP_INI_PATH环境变量);
(2)注册表键值:
HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath;
(3)环境变量%PHPRC%;
右击"
我的电脑"
→"
属性"
高级"
环境变量"
→新建系统变量PHPRC,值为PHP所在目录(例如:
\php)。
然后双击Path,在变量值末尾加入你的PHP所在目录,包括前面的半角状态下的分号(例如:
\php),全部确定后重启。
(4)PHP5的根目录(ForCLI),
(5)或者WWW的根目录(ForSAPImoudles);
(6)Windows目录(C:
\windows);
很明显,在Apache的hpptd.conf中设置PhpIniDir是最好的办法。
(PhpIniDir的设置跟PHP的版本有关系)
第五步:
phpMyAdmin3.3.X的安装
先设置下IE浏览器的COOKIE:
在WIN2003中设置下浏览器的COOKIE,打开IE,执行工具→Internet选项→隐私→高级,勾选“覆盖自动cookie处理”、“总是允许会话cookie”如下图,切换到常规选项卡,点击删除cookies按钮,清理下IE临时目录下的cookies。
安装配置过程:
将phpMyAdmin解压到存放PHP文档的目录下(我这里为:
\myphp\,则phpMyAdmin的目录为:
\myphp\phpMyAdmin\)
必须以cookies方式登录,2、必须以合法用户名和密码进行远程登录,如果没有配置phpmyadmin的用户名和密码,访问会被拒绝。
那么如何对phpmyadmin设置用户名和密码呢?
参照phpmyadmin2版本的配置,有两种配置方式:
1、传统的phpmyadmin配置方式,在phpmyadmin根目录index.php的同级目录下,创建config.inc.php,具体参考配置文件请参考config.sample.inc.php。
2、在phpmyadmin3版本中,有一种新的配置方式,即不需要创建config.inc.php,只要修改libraries/config.default.php配置文件的配置项即可。
这是因为phpmyadmin3中默认首先加载libraries/config.default.php配置文件的内容,如果有config.inc.php,就会在config.inc.php配置文件中找到相同的变量并覆盖,所以如果没有特别的设定,你不需要再去创建一个config.inc.php,只要在libraries/config.default.php进行相关的配置即可。
【设置访问URL】:
$cfg['
PmaAbsoluteUri'
]='
//localhost/PHPMyadmin/'
//填写访问phpMyAdmin的绝对URL
【设置用户名和密码工作如下】:
Servers'
][$i]['
auth_type'
]='
cookie'
//设定phpmyadmin远程访问方式为cookie
user'
root'
//登录MySQL用户名
password'
//登录MySQL密码
首先设定登录方式为cookie,然后设置用户名和密码,默认用户名为root,密码为空,你需要根据Mysql数据库配置的用户名和密码进行设定,我设置都为root。
【cookie加密(短语密码)】
在phpmyadmin配置文件config.default.php中找到:
blowfish_secret'
cookies'
此处我赋值为cookies,这个密码用于Cookies的加密,仅当auth_type的方式为cookie时设置。
【语言和字符编码设置】:
①查找$cfg['
DefaultLang'
],将其值设置为zh-gb2312
②查找$cfg['
DefaultConnectionCollation'
],将其值设置修改为gbk_general_ci
③查找$cfg['
DefaultCharset'
],将其值设置为gbk
(★关于GBK、GB2312、UTF8编码的说明见本教程最后面)
配置好phpmyadmin后,重启下Apache服务器,在游览器中输入phpmyadmin的远程访问地址:
http:
//localhost/phpMyAdmin,再输入用户名和密码即可登录phpmyadmin进行Mysql数据库的管理,如图:
上图出现的问题解决办法:
◆phpmyadmin的链接表的附加功能尚未激活问题如何解决?
回到上图我们看到尽管phpmyadmin配置完成可以使用了,但是底部仍然提示有部分配置工作没有完成,其中一条提示:
链接表的附加功能尚未激活,那么如何解决呢?
首先,点击“导入”链接,上传phpmyadmin/scripts/create_tables.sql并执行,创建phpmyadmin数据库。
其次,在phpmyadmin配置文件config.default.php中找到:
pmadb'
phpmyadmin'
bookmarktable'
pma_bookmark'
relation'
pma_relation'
table_info'
pma_table_info'
table_coords'
pma_table_coords'
pdf_pages'
pma_pdf_pages'
column_info'
pma_column_info'
history'
pma_history'
designer_coords'
pma_designer_coords'
tracking'
pma_tracking'
在phpmyadmin配置文件中默认这些变量都是空的,你只需要根据注释对变量进行赋值即可。
完成上述配置操作后,关闭游览器,重新登录即可。
phpmyadmin登录方式说明:
在phpmyadmin3中,总共有四种登录方式
①config:
直接输入phpmyadmin远程登录地址即可,只要在配置文件中设置用户名密码即可。
②http:
弹出对话框,输入用户名和密码后进入
③signon:
类似于页面跳转的登录方式,同时需要设定$cfg['
SignonURL'
],当你输入phpmyadmin的远程登录地址后会自动跳转到signonURL设定的网址。
④cookie:
也就是phpmyadmin配置时候的登录方式。
至此整个phpmyadmin3的安装和配置工作就算完成了,你可以体验phpmyadmin新版本的新功能了。
(本人调试到这里往往还要进行一步,即phpMyAdmin的减肥。
在其目录下的lang(phpMyAdmin的语言包)这个文件夹里,把其它用不到的东东全删光,只留下chinese_simplified-gb2312.inc.php和chinese_simplified-utf-8.inc.php这两个文件。
这样一下子给phpMyAdmin减去8M多的空间。
哈哈~,别担心,没有这8M多的东东,phpMyAdmin照样运行正常。
第六步:
ZendOptimizer-3.3.X的安装(本版本暂时不支持PHP5.3.X系列,因此以下步骤无须再看,等Zend出新版本来解决。
安装过程:
运行ZendOptimizer-3.3.3-Windows-i386文件,如下图
点击“NEXT>
”进行下一步操作。
选择接受协议,如上图所示(最上面的复选框),点”next>
”。
选择ZendOptimizer的安装路径,点”next>
注:
这里有需要注意的。
在选择服务软件名称时,由于我们这里使用的是apache2.2.15,所以选apache2.x,这里一定要根据自己的情况选择。
如,你使用的服务器软件为IIS的话,当然这里要选IIS喽。
如果用apache1.3,自然这里要选apache1.X了。
点”next>
”进行下一步操作。
“pleasechoosethefolderinwhichyourphp.iniislocaled”即“选择PHP.INI文件所在的文件夹”,此时选择PHP.INI文件所在的路径(前面已经提及过,PHP.INI文件所在位置为C:
\php里,这里应点击Browse按钮选择路径C:
“pleasechoosetherootfolderofyourwebserver”意思是“选择服务器软件所在的文件夹”,我这里的服务器软件为apache2.2.15,安装路径为C:
\Apache2.2,所以选择这个路径,点”next>
如果此步操作成功,会出现如下图所示
点击“install”进行安装。
安装过程中ZendOptimizer会关闭服务器软件(apache2.2.15)
弹出对话框进行提示,如下图所示
点击“是”,进行下一步操作,全部点确定。
zendoptimizer开启服务器软件运行,出现上图所示,说明ZENDOPTIMIZER安装成功。
点“finish”。
我们还可以用php探针来测试一下,打开之前创建好的info.php,即http:
//localhost/info.php,如果看到下面两张图示,说明运行正常:
ZendOptimizer安装完成。
====================GBK、GB2312、UTF8====================
MySQL字符集GBK、GB2312、UTF8区别解决PHPMYSQL中文乱码问题
MySQL中涉及的几个字符集
character-set-server/default-character-set:
服务器字符集,默认情况下所采用的。
character-set-database:
数据库字符集。
character-set-table:
数据库表字符集。
优先级依次增加。
所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集。
character-set-client:
客户端的字符集。
客户端默认字符集。
当客户端向服务器发送请求时,请求以该字符集进行编码。
character-set-results:
结果字符集。
服务器向客户端返回结果或者信息时,结果以该字符集进行编码。
在客户端,如果没有定义character-set-results,则采用character-set-client字符集作为默认的字符集。
所以只需要设置character-set-client字符集。
要处理中文,则可