我在Windows 7 64位计算机上的XAMPP环境中工作。我安装了Apache 2.4服务。我遇到的问题让我困惑了大约一天。
到目前为止,我的php文件已按预期执行。最近,我创建了一个文件,其中包含以下内容:
function get_web_page($url,$attempt=1){
if($attempt <4){
$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle all encodings
CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1", // who am i
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 30, // timeout on connect
CURLOPT_TIMEOUT => 30, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
);
$ch = curl_init( $url );
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
if($err == 0){
return $content;
}else{
return get_web_page( $url, $attempt + 1 );
}
}else{
return FALSE;
}
}
检索网页的简单功能,也不会回显任何内容。 但是,当我在浏览器中访问此页面时(此时仅定义一个函数而不是其他内容),它会在页面的第一个“=&gt;”后面打印所有内容。 (没有引号)。我不明白为什么会这样。我在同一目录中的所有其他php文件都按预期运行。
请帮助我理解为什么会这样,以及我应该采取什么步骤来解决它。
答案 0 :(得分:2)
查看提供给浏览器的页面的来源,您可能会以纯文本格式查看整个php源代码。它仅渲染第一个=>
之后的内容,因为它可能是>
中<
开头后发现的第一个结束<?php
。第一部分不呈现,因为您的浏览器认为它在一些奇怪的HTML标记内。
检查你的apache配置,因为它没有通过PHP解释器路由*.php
页面的请求。