(1) PHP 随笔---跟老韩学(24-34)---Apache、PHP简介、环境的搭建
◇PHP的中文名是超文本预处理器(Hypertext Preprocessor)。
◇PHP目前是由zend公司负责维护和商业化的。
◇ide->集成开发环境。
◇b(browers)/s 特点
b/s 优点:1、开发成本低 2、升级方便 3、用户使用方便,出现故障小
b/s 缺点:1、 安全性不足 2、客户端不能随心变化,受浏览器限制
◇学习web开发,需要先安装一台web服务器(在某台机器上运行web服务器软件,就把这台机器称为web服务器),然后再在web服务器中开发相应的web资源,供用户使用浏览访问。
◇安装web服务器的作用是:浏览器要取数据,就得从web服务器中取出。
◇常用的服务器 如apache(跨平台,免费,开源软件),nginx(俄罗斯开发的),IIS,TomCat,Lighttpd(德国开发的,特点是轻便)
◇apache是默认在80端口监听。 web服务器运行的时候,如果它是一个网络服务,则规范该网络服务必须监听一个端口,就是80端口。
◇关于端口:
1、一台电脑的端口号有1-65535。
2、在实际开发中,我们经常使用 “ netstat -an ”来查看机器有哪些端口在监听,如果发现有异常端口监听,则可以关闭该端口。 也可以使用“netstat -anb”查看是什么程序在监听什么端口。
3、一个机器上的一个端口,最多只能被监听一次,不能被其他的应用程序监听。在“1-1024端口”不要去占有,其他的端口都可以自行分配。
4、apache可以修改端口,或者监听多个端口。
◇如何配置apache:
apache软件的配置是在httpd.conf(该文件相当于apache的大脑)文件中配置,该文件在apache安装目录下的conf中。
◇修改apache端口:在httpd.conf中: Listen 81 修改完要重新启动apache服务 如果要监听多个端口,可以写 Listen 80 Listen 81 Listen 82 Listen 83
◇apache的目录结构,它是模块化设计的:
◇/bin/ 用来存放apache常用的命令
◇/cgi-bin/ 该目录存放Linux下的常用命令
◇/conf/ 存放配置文件 httpd.conf
◇/error/ 错误记录
◇/htdocs/ 存放我们站点的文件夹(默认情况),如果有多个端点站点,可以通过文件夹分类
◇/icons/ 存放图标
◇/logs/ 记录apache服务的相关日志
◇/manual/ apache的模块
◇MPM:多重模块管理 APR:可移植运行库
◇正斜杠:“/“ 反斜杠:“\" 两个反斜杠相当于一个正斜杠的效果。
◇apache配置虚拟目录:
◇1、在httpd.conf中加一段节点代码,添加一个虚拟目录节点: <IfModule dir_module>...</IfModule>
◇2、注销DocumentRoot路径: #DocumentRoot ...
◇如何设置首页面:在上面的虚拟目录节点中的DiretoryIndex中加入你的网站即可。
◇关于apache访问权限的管理:
<Directory d:/myblog> //对这个文件夹下的文件做权限设置
order allow,deny //表示,先允许再拒绝
Allow from all //这里表示允许的规则,意思是允许所有网站访问,
</Directory>
◇虚拟主机的配置:
◇1、启用httpd-vhost.conf:在httpd.conf中启用
#Virtual hosts -> Virtual hosts
#Include ... -> Include ...
◇2、找到httpd-vhost.conf,来配置自己的虚拟主机:
<VirtualHost 127.0.0.1:80>
DocumentRoot "d:/myblog" //上面的IP指向的文件地址
DirectoryIndex index.html //首页面
<Directory>
...
</Directory>
</VirtualHost>
◇3、修改hosts文件
在\etc\hosts 文件中的最后一行,可以设置ip地址和域名的对应关系
访问的时候,现在自己的服务器中查询该网址,如果没有查询到,就会到外网去查询。
◇发布一个网站的步骤:
1、先买一个域名 2、买一台公网的服务器 3、把在本地写好的文件发到服务器上 4、然后再在公网的服务器上配置
◇MySql的端口号是3306,phpmyadmin是一个用于管理mysql数据库的图形化工具(web版的),可以通过appserver来套装wamp安装程序。
◇Apache在默认的情况下只会对静态的页面做处理,不会去解释PHP文件
◇安装WAMP的步骤(安装一个,测试一个):
◇1、安装Apache,测试通过访问http://localhost/,是否有it works!
◇2、安装PHP,只需将压缩文件解压即可。
◇3、配置PHP:
◇1、在Apache的conf目录下,加入如下代码
#让apache载入php处理模块
LoadModule php5 module C:/myenv/php-5.3.5/php5apche2_2.dll
#用于指定PHP的ini文件,该文件是对Php的一些配置
PHPIniDir "C:/myenv/php-5.3.5"
#这个配置表示如果有资源是*.php时,那么就由PHP来处理
AddType application/x-httpd-php .php .phtml
◇2、把php.ini-development的文件名改为php.ini
◇3、在php.ini中指定扩展模块路径 extension_dir=~php安装路径/ext
◇4、重新启动apache,测试用phpinfo()函数。
◇4、安装MySql,傻瓜式安装,最后要改为utf-8
◇1、启用mysql,mysqli:在php.ini中找到extension=php_mysql.dll与extension=php_mysqli.dll将其启用,并重启apache
◇2、利用$conn=mysql_connect("localhost","root","root");来测试连接。
◇5、安装phpmyadmin:
◇1、把该压缩包直接解压到htdocs目录下
◇2、然后可以直接访问phpmyadmin/index.php页面即可,用户名root,密码root
◇在自己的开发环境上配置一个discuz论坛:
◇准备一个discuz源码,
◇1、把discuz解压出来放到htdocs里,然后把discuz中的upload文件夹里的文件全部拷出来到discuz文件夹下
◇2、设置config文件夹下的global文件中的管理员的用户名和密码:admin ,admin
◇3、再在global中找到founder,值改为admin。
◇4、设置php.ini的short_open_tag的值为0
◇通过一个ip的多个端口来区分不同的站点,(第一种解决方案,以端口来区分)
◇1、先开发好自己的网站 d:/myWeb
◇2、配置我们的httpd.conf文件,启用virtual hosts(把"#"去掉)
◇3、配置我们的httpd-vhost.conf,在/conf/extra/目录下,配置一个<Virtualhost *.*.*.*:80> ... </Virtualhost>
◇4、在hosts文件中添加ip和域名的对应关系 ,在c:/windows/system32/drivers/etc/hosts 最下面建立地址和域名关系,如 192.168.0.1 www.abc.com
◇5、如果需要添加不同的虚拟主机,只需要在第3步中再次添加一个<Virtualhost *.*.*.*:81> ... </Virtualhost>
◇6、在httpd.conf中添加81监听端口 Listen 81
◇7、然后再在hosts文件中添加ip和域名的对应关系 192.168.0.1 www.def.com 以此类推
◇通过ServerName端口来区分不同的域名,(第二种方案)
◇1、开发新的站点:d:/myblog2
◇2、在httpd-vhosts.conf 文件中添加配置(这时候的配置和上面的配置不同)在<Virtualhost *:80> ServerName www.abc.com </Virtualhost> 然后再添加一个<Virtualhost *:81> ServerName www.def.com </Virtualhost> 其他两个文件(httpd.conf与host文件配置与上面相同)