虽然很简单吧,但不试试还真不知道,一直在想怎么把程序取得的数据传入模板里?之前这么想的
// data.php 文件
$data = array(
'title'=>'ilsea',
'list'=>array(
'hello',
'world'
)
);
include('show.php');
// show.php 模板文件
<div>
<?php
echo $data['title'];
echo '<br/>';
print_r($data['list']);
?>
</div>
看起来好丑,继续===
// data.php 文件
$data = array(
'title'=>'ilsea',
'list'=>array(
'hello',
'world'
)
);
// 定义一个函数用来包含模板,并传递数据,应该定义在公用函数库里的,这里我就直接写在这儿了
function template($template,$data)
{
if(isset($data)){
foreach($data as $key=>$val){
$$key = $val;
}
unset($data);
}
include($template);
}
template('show.php',$data);
// show.php 模板文件
<div>
<?php
echo $title;
echo '<br/>';
print_r($list);
?>
</div>
用这个template函数就漂亮多了,我不喜欢用一个模板类来显示模板,写个方法多简洁啊,方便
本文链接
一、提出问题:配置好虚拟目录后 网站首页面可以显示,但图片显示不出来(图片在虚拟目录下的文件夹内),并且点击其它链接页面时反回 403 ,查看日志为:client denied by server configuration;应该是访问权限问题;
二、问题2:403问题解决后,点击其它链接页面时反回 404,即虚拟目录下面的文件找不到。
三、贴出来我正确的配置:
四、#配置虚拟目录
<IfModule dir_module>
DirectoryIndex index.php index.html
Alias /phpMyAdmin2 "E:/phpMyAdmin2"
<Directory "E:/phpMyAdmin2" >
Order allow,deny
Allow from all
</Directory>
</IfModule>
权限问题主要是 Directory 结点的配置
<Directory "E:/phpMyAdmin2" >
Order allow,deny
Allow from all
</Directory>
这样配置就没有问题了。
404问题是回为:虚拟目录名与站点文件夹名不一样。还有站点最好在磁盘的根目录下,否则会出现图片显示不出来的问题。纠结了好久,试试了各种方法都不行,最后把它们的名字改为一样就可以了。不知道你信不信,反正我信了,就是因为它的原因吧。
还一点配置虚拟目录时有的是在httpd.conf 文件中的 <IfModule alias_module> 中添加的
DirectoryIndex index.php index.html
Alias /phpMyAdmin2 "E:/phpMyAdmin2"
<Directory "E:/phpMyAdmin2" >
Order allow,deny
Allow from all
</Directory>
可以添加多个虚拟目录。
还可以独立写结点添加
#配置虚拟目录
<IfModule dir_module>
DirectoryIndex index.php index.html
Alias /upload "E:/Workspace/PHP/espcms/upload"
<Directory E:/Workspace/PHP/espcms/upload >
Order allow,deny
Allow from all
</Directory>
</IfModule>
配置虚拟主机时也出现404问题,首页可以访问内容页面访问不到。conf\extra目录下的httpd-vhosts.conf文件配置如下:
<VirtualHost 192.168.0.159:8088 >
DirectoryIndex index.html index.htm index.php
ServerAdmin webmaster@dummy-host2.localhost
DocumentRoot "E:/phpMyAdmin2"
ServerName zhangli
<Directory "E:/phpMyAdmin2" >
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
输入:http://zhangli:8088 可以访问到phpMyAdmin2首页面(要修改C:\WINDOWS\system32\drivers\etc 下的hosts文件192.168.0.159 zhangli),但是图片显示不出来,以子页面不能访问。
为phpMyAdmin2 在httpd.conf中配置一个虚拟目录此问题就不出现了。
<IfModule dir_module>
DirectoryIndex index.php index.html
Alias /phpMyAdmin2 "E:/phpMyAdmin2"
<Directory "E:/phpMyAdmin2" >
Order allow,deny
Allow from all
</Directory>
</IfModule>
本文链接
将 phpMyAdmin 由3.3.3 升级到了 3.5.8,登录后竟然显示白屏?!
所用的是 safari 5.1.7 浏览器,怀疑是浏览器惹的祸,切换到 firefox 20,一切正常。
看来是 phpMyAdmin 3.5.8 与 safari 5.1.7 不兼容。
谷歌之,在 http://mymacinations.com/2012/06/19/phpmyadmin-3-5-1-blank-screen/ 中先看到如下描述:
可是我的 phpMyAdmin 是3.5.8,如其所言,在3.5.2版中就已经修正了这个 bug 的。
继续往下看,下面有人支了一招:
在配置文件 config.inc.php 的最后添加了如下一行:
$cfg['AllowThirdPartyFraming'] = true;
在 safari 中打开,一切正常了。
参考网站:
http://mymacinations.com/2012/06/19/phpmyadmin-3-5-1-blank-screen/
https://discussions.apple.com/thread/4018852?start=0&tstart=0
http://sourceforge.net/tracker/index.php?func=detail&aid=3523499&group_id=23067& atid=377408
本文链接