yaf框架刚开始遇到的问题
2016-10-17 17:54:13遇到的这个问题,这个问题算是比较综合性的问题,我也是查阅了很多的资料才大概明白的。这里就简单记录一下:
1.首先查看日志记录,结果如下:

根据错误日志:找寻到
(1)Favicon.ico.php:No such file or directory'
(2)request: "GET /favicon.ico HTTP/1.1"
根据以上两个点,我去查询favicon.ico的相关资料如下:
favicon.ico 文件是浏览器收藏网址时显示的图标,当第一次访问页面时,浏览器会自动发起请求获取页面的favicon.ico文件。当/favicon.ico文件不存在时,服务器会记录404日志。当一个站点没有设置favicon.ico时,access.log会记录了大量favicon.ico 404信息。这样有两个缺点:
1.使access.log文件变大,记录很多没有用的数据。
2.因为大部分是favicon.ico 404信息,当要查看信息时,会影响搜寻效率。
解决方法如下:
在nginx的配置中加入:
location = /favicon.ico {
log_not_found off;
access_log off;
}
继续Google其他的详细的解答,大概的解答依然如此:
(1)One should mention that this is a nginx setting. Edit the file /etc/nginx/sites-available/owncloud.conf (or similar) and add this. Then restart nginx OC community seems to discuss this topic as well. 大意是在nginx的配置文件中添加下面的这段代码:
location = /favicon.ico {
log_not_found off;
}
然后重启nginx服务器,就可以了。
nginx服务重启命令:
nginx -s reload :修改配置后重新加载生效。
本人的配置如下:

然而,重启之后,我发现问题依然存在。我意识到这并不是我要找寻的答案。竹篮打水一场空,哎呀。
不过,不要泄气,革命的路还长着呢,我们继续探索。
在找寻答案的过程中看见依然看见相同的结果:
(1)

(2)

以上都不是我要找寻的结果,不过,也许会是你们遇到的问题的解决办法哦~。
2.我回到了日志文件中,我查看了另外的一个文件:helloyaf.access.log

看到了501的信息:我跟着这个点Google:
HTTP 501 错误 – 未实现 (Not implemented) .
您的Web 服务器不理解或不支持它在客户端发送给它的HTTP数据流中找到的HTTP方法。
这些在 HTTP 协议中定义的方法如下:
OPTIONS( 选项 ) :查找适用于一个特定网址资源的通讯选择。 在不需执行具体的涉及数据传输的动作情况下, 允许客户端来确定与资源相关的选项以及 / 或者要求, 或是一个服务器的性能。
GET( 获取 ) :检索由网址资源所确定的信息,如获取一个特定的网页或图片。这是最常用的方法。
HEAD( 头 ) :除了服务器只反馈标头信息而不是网址资源所确定的信息本身外, 基本同于 GET ( 获取 ) 。 可用于获取一个请求所要求的响应实体的元信息 ( metainformation) ,而不需传输响应实体本身。 经常用来测试超文本链接的有效性, 可达性, 和最近的修改。
POST( 投寄 ) :将数据提交到 Web 服务器,如 1 )在电子公告板,新闻组中,或向 邮件名单发送信息, 2 )提供输入数据 - 通常由一个公共网关接口(CGI) 表, 到 一个数据处理进程, 3 )直接将记录添加到一个数据库中。
PUT( 放置 ) :将一个具体网址的数据设置( 置入 / 替换)成客户提交的新数据。例如,将新的网页上载给服务器。
DELETE( 删除 ) :删除与网址资源相关的数据。例如,删除网页。
TRACE( 跟踪 ) :运行请求信息的一个远程应用层回送。 实际上是一个 'ping', 用以测试 Web 服务器正在从客户端接收什么数据。
CONNECT( 连接 ) :保留以便通过代理服务器和隧道一起使用(如 SSL )。这种方法只在 HTTP 1.1 版中定义, 而在先前的 1.0 版中却没有。
如果 HTTP 数据流中的请求方法不是任何上述之一, 那么将导致 501 错误。 或是方法可能有效, 但并不被您的 Web 服务器支持。 这通常只会在使用新方法时发生,如旧的 Web 服务器接收到 CONNECT 方法时。
根据我的日志记录:
GET /favicon.ico HTTP/1.1" 200 501 "http://www.helloyaf.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36"
HTTP 循环中的 501 错误:
任何客户端在和您的网络服务器通讯时,都需经过以下循环:
从您站点的 IP 名称 ( 即您站点的网址-URL, 不带起始的 ‘http://') 获得一个 IP 地址。
这个对应关系 ( 即由 IP 名称向 IP 地址转换的对应关系 ) 由域名服务器 (DNSs) 提供。
(1)打开一个 IP 套接字 (socket) 连接到该 IP 地址。
(2)通过该套接字写 HTTP 数据流。
(3)从您的Web服务器接受响应的 HTTP 数据流。
该数据流包括状态编码, 其值取决于 HTTP 协议 。 解析该数据流得到 状态编码和其他有用信息。
该错误在以上所述的最后一步生成,即当客户端收到HTTP状态编码并识别其为 ‘501’ 时。
解决 501 错误 – 一般方法
这个错误在任何浏览器上都应是非常罕见的。 如果客户端不是一个浏览器则更有可能 – 特别是如果 Web 服务器很旧时。 在这两种情况下, 如果客户端指定了一个有效的请求类型, 那么Web 服务器不是响应不正确,就是需要升级。
我遇到了这个非常罕见的问题,我的nginx版本是:

官网上面的都是比较新的版本了:

我没有通过升级来解决这个问题,升级需要重新配置环境,因为是客户端或者nginx服务器的问题,于是我猜测,换了一个浏览器能不能解决呢。我换了火狐浏览器,就可以运行访问了。后面会升级nginx服务器的版本。
参考网址:http://blog.csdn.net/chinmusam/article/details/8491336
记录下来,大家相互学习。:)
yaf框架刚开始遇到的问题的更多相关文章
- Yaf框架下类的自动加载
前面两篇博客分别讲述了PHP自带的类加载和composer中类的自动加载,其实Yaf框架也实现了基于PSR0和PSR4的类的自动加载.根据我对Yaf下类的自动加载方式的理解写下这篇博客.由于接触Yaf ...
- yaf框架学习笔记
1.yaf框架支持简单的试图引擎,并且支持用户自定义视图引擎,比如smarty. 2.Yaf_Request_Http::getQuery ,Yaf_Request_Http::getQuery ( ...
- 关于yaf 框架的win安装
http://www.sunqinglin.cn/index.php/archives/329.html PHP windows下yaf框架的安装和配置 2014年10月28日 ⁄ PHP, 编程开发 ...
- windows环境下安装yaf框架
windows环境下安装yaf框架 在windows下安装yaf框架 准备工作: php环境(过程略,wamp,xampp,phpstudy都行,php版本大于5.3) git工具(需要从github ...
- 如何在phpstorm中查看yaf框架源码
1.到github下载yaf框架的doc 下载链接 https://github.com/elad-yosifon/php-yaf-doc/archive/master.zip 2.解压zip包 3. ...
- yaf框架安装配置
YAF中文文档:http://www.laruence.com/manual/index.html 1 YAF框架是用C开发的,属于PHP的扩展框架: 2 YAF的性能相对于源生PHP,性能只降低不到 ...
- php的session获取不到问题之ie浏览器(yaf框架)
最近在内网写代码的时候遇到一个很怪异的问题, 花了好长时间调试,在次记录一下问题和解决方法. 问题描述: 内网开发使用的yaf框架,在火狐,谷歌,创建的session和cookie都能获取的到,但是在 ...
- php 安装yaf扩展和yaf框架
一.安装yaf扩展(windows安装) 1.查看你电脑安装的开发环境(phpinfo()的信息),查找 "Zend Extension Build"和"PHP Exte ...
- macOS 安装配置yaf框架 生成yaf项目
macOS 安装配置yaf框架 Yaf只支持PHP5.2及以上的版本. 并支持最新的PHP5.3.3 Yaf需要SPL的支持. SPL在PHP5中是默认启用的扩展模块 Yaf需要PCRE的支持. PC ...
随机推荐
- 反射应用--IOC和AOP
反射最大的价值就是用来写框架,下面贴出自己的3篇代码,模拟实现SPING框架的bean工厂,IOC,AOP.当然这里重点是在利用反射实现功能,为了图方便,我用的是Properties文件,关于XML后 ...
- test for python socket
server: #!/usr/bin/python import socket import threading import time def tcplink(sock, addr): print ...
- .Net Core部署到CentOS
本文基于初次或再次尝试部署.Net Core应用到Linux服务器上,我尝试后自我总结的经验一个简单的Demo,尝试部署在Linux服务器上和跨服务器访问数据库. 一.环境介绍 1.本地使用Visua ...
- 交换两个变量的值,不借助第三个变量的 三种方法(JS实现)
第一种:算术运算法 var a = 10; var b = 12; a = b - a; b = b - a; a = b + a; 它的原理是:把a.b看做数轴上的点,围绕两点间的距离来进行计算.具 ...
- 让Python支持中文注释
在第一行中加入如下行即可,表示文件的编码: #coding=utf-8 或 #coding=gbk
- Tomcat(五):nginx/httpd + tomcat及负载均衡tomcat
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- 面试中的Java链表
链表作为常考的面试题,并且本身比较灵活,对指针的应用较多.本文对常见的链表面试题Java实现做了整理. 链表节点定义如下: static class Node { int num; Node next ...
- spring之注解详解
一.类级别注解 通用:@Component("id") Controller层:@Controller("id") Service层:@Service(&quo ...
- dlib下训练自己的物体检测器--手的检测
之前我们在Linux上安装了dlib(http://www.cnblogs.com/take-fetter/p/8318602.html),也成功的完成了之前的人脸检测程序, 今天我们来一起学习怎样使 ...
- 【OH】Oracle软件安装需要的软件包(官方文档)
1 安装12c 1.1 Table 3 x86-64 Supported Linux 7 Operating System Requirements Item Requirements SSH R ...