#1 fengyu44
刚学speedPHP,在静态页面生成时总有问题。
最简单的:
function test_html(){ // 测试spHtml生成静态页面的方法
echo "开始生成留言本内容页面...
";
$url = array("main", "show", array('tid'=>12));
spClass("spHtml")->make($url);
echo "留言本内容页面生成完毕!";
}
浏览器中访问:
http://localhost/index.php?c=main&a=test_html目录生成很慢,而且生成的页面是空的。
可用 $url = spUrl("main", "show", array('tid'=>12));
访问$url,显示是正常的。
不知道是什么原因了,大侠们帮帮忙吧,谢了!
2010-04-21 12:02:15
#3 fengyu44
谢谢斑竹的回复。
我刚下载了你连接中的例子,可程序运行还好很慢,而且只生成了目录,文件一个都没有。
我的index.php文件为:
// sp框架的目录,SpeedPHP.php文件所在的目录
define("SP_PATH",dirname(__FILE__)."/SpeedPHP");
// 应用程序目录,controller和model等文件夹所在的目录,这里设置的是根目录
define("APP_PATH",dirname(__FILE__));
// 这里开始是应用程序的配置
$spConfig = array(
"db" => array( // 数据库设置
'host' => 'localhost', // 数据库地址
'login' => 'root', // 数据库用户名
'password' => 'passwd', // 数据库密码
'database' => 'tv', // 数据库的库名称
),
"view" => array(
'enabled' => TRUE, // 开启Smarty
'config' => array(
'template_dir' => APP_PATH.'/tpl', // 模板存放的目录
'compile_dir' => APP_PATH.'/tmp', // 编译的临时目录
'cache_dir' => APP_PATH.'/tmp', // 缓存的临时目录
'left_delimiter' => '<{', // smarty左限定符
'right_delimiter' => '}>', // smarty右限定符
),
),
'html' => array(
'enabled' => TRUE, // 开启HTML生成功能
'safe_check_file_exists' => TRUE, // 获取URL时,检查物理HTML文件是否存在,如文件不存在,则返回安全的动态地址
'file_root_name' => 'articles', // 静态文件生成的根目录名称,设置为空则是直接在入口文件的同级目录生成
),
);
require(SP_PATH."/SpeedPHP.php");
2010-04-21 12:36:15
#4 jake
你的服务器禁止了file_get_contents访问网络,也就是有些人说的服务器采集功能。
2010-04-21 12:57:58
#5 fengyu44
检测了一下,file_get_contents没有禁用,file_get_contents('http://baidu.com') 也正常,但 file_get_contents('http://localhost/') 就失败了,在hosts中加入127.0.0.1 tv.com,用tv.com 测试刚才的代码,程序正常。
问题解决。故应该是 file_get_contents 无法正常获取localhost中页面的问题。
不知 能否把 file_get_contents 函数换个实现形式,已解决本地调试的问题。
2010-04-21 13:25:30
#6 jake
hosts内加入 127.0.0.1 localhost
2010-04-21 14:58:02