在写这篇文章的时候,楼主已经饿的不行了,因为我从3点开始就在折腾Hush Framework,走了很多弯路,打铁要趁热,先把基本的过程记录下来,留待以后翻阅,同时记录其中容易走弯路的地方,特别是对于一个像我这样的newer,搞起来真的是巨折腾人的。
既然写到要配置Hush Framework框架,那么对于它的理解,我在这里就不再多说,总之,是一个建立在Smarty和Zend Framework的PHP开发框架,综合了两者的有点,摒弃了Zend Framework的笨重。
首先得学会在apache上配置虚拟主机(vhost),其实此前我一直都不明白虚拟主机到底是什么家伙,只直到是一个可供web访问的一个url地址,经过今天的折腾,终于明白,vhost算是主机中的另一个供外部,比如浏览器访问的文件目录。
为什么要用vhost呢?是因为我们向另外开辟web访问地址。
在使用XAMPP后,你可以打开localhost/xampp这个地址,而这个地址所指向的是"xampp根目录\htdocs\",这个事xampp服务器已经设定好的,而且默认打开80端口,那如果我们想另外开辟web地址呢,就得用到vhost来进行设定了。
如何设定vhost?
1、当然首先需要apache服务器,这里我们借用XAMPP一套服务,里面有集成了apache服务器,我们打开目录文件:xampp根目录\apache\conf\extra\httpd-vhosts.conf
2、向httpd-vhosts.conf文件中添加如下代码:
<VirtualHost *:>
DocumentRoot "E:/Program_Software/PHP/hush-master/hush-app/web/backend"
ServerName hush-app-backend
<Directory />
AllowOverride All
Require all granted
</Directory>
</VirtualHost> <VirtualHost *:>
DocumentRoot "E:/Program_Software/PHP/hush-master/hush-app/web/frontend"
ServerName hush-app-frontend
<Directory />
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
这里面的目录是我的Hush Framework的demo目录,大家可以自行下载该框架,放置在任何目录都可。
特别注意,下面这段代码:
<Directory />
AllowOverride All
Require all granted
</Directory>
很多人可能会写成:
<Directory />
AllowOverride All
Order deny,allow
Allow from all
</Directory>
我不清楚到底什么原因导致第二种不行,反正我是试过,每次打开新建的地址,都提示“access denied”,可能是我的电脑还有其他的地方需要授权的。
3、接下来是做本地地址与vhost地址的映射工作
打开C:\Windows\System32\drivers\etc\hosts文件,添加俩句:
127.0.0.1 hush-app-frontend
127.0.0.1 hush-app-backend
这样就可以通过
http://hush-app-frontend/和http://hush-app-backend/来访问hush framework自带的demo的前台和后台。
---------------------------------------vhost config end ------------------------------------------------
就这样完了吗?还有什么没做?当然是Hush Framework本身的安装了啊,啥?这个还要安装?如果你这么想就太天真了。
安装这个并不是难事,当然,前提是你有比较多的配置环境的基础,像我搞过很多的配置,早期配置iis6站点,2010年时的Android开发环境,到现在的NDK和Cocos2dx,反正就是很多,配的都成精了。
我就不详细说啦,有几个地方需要注意:
1、需要配置php的环境变量,比如我是这样做的:
新建 php_home:php.exe的绝对地址 新建mysql_home:mysql的bin目录,注意哦,如果你装的是XAMPP的话,php和mysql都是集成的哦。
将php_home和mysql_home添加到path中去,怎么加?懂的人都知道:在path的末尾处加上%php_home%;mysql_home;
2、配置php和mysql的目的就是在运行Hush Framework的初始化的批处理文件hush.bat,文件地址是在“...\hush-app\bin\hush.bat”
当然,不是直接双击运行,需要给这个批处理下一些命令,用cmd进入到hush.bat所在的目录,输入:hush sys init
执行后就开始初始化Hush Framework了,期间有要求输入数据库的账户信息,这个事必须要重新写的,如果你写错了,bat会退出,怎么办,用cmd重新执行hush sys init,再搞一遍即可。
---------------------------------------Hush Framework config end----------------------------------------
至此,一切都ok了。打开http://hush-app-frontend/来验证一下:
后记:写到这的时候,真是狗血,前面不是说vhost授权有两种吗,我的只有第一种可行,当我打开《Android和PHP开发最佳实践》的demo时,里面有一个httpd-vhosts.conf文件,打开一看,才知道原因出在apache的版本上。
Listen
<VirtualHost *:>
ServerName weibo-app-web
DocumentRoot "D:/workspace/android-php-weibo/server/www/website"
<Directory "D:/workspace/android-php-weibo/server/www/website">
AllowOverride All
Order deny,allow
Allow from all
# 如果 Apache 版本大于 2.4.x,则需要打开以下注释行
# Require all granted
</Directory>
</VirtualHost>
简直搞喷了,搞了那么久,又是版本升级所致,看来以后要多注意版本问题啊。