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 ...
随机推荐
- docker入门(一)
1. Docker是什么? 官方的解释地址: Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署 ...
- 最全 Linux 磁盘管理基础知识全汇总
一.存储设备的挂载和卸载 存储设备的挂载和卸载常用操作命令:fdisk -l.df.du.mount.umount. fdisk -l 命令 1.作用 查看所有硬盘的分区信息,包括没有挂上的分区和 ...
- js中的深拷贝与浅拷贝
对象的深拷贝于浅拷贝 对于基本类型,浅拷贝过程就是对值的复制,这个过程会开辟出一个新的内存空间,将值复制到新的内存空间.而对于引用类型来书,浅拷贝过程就是对指针的复制,这个过程并没有开辟新的堆内存空间 ...
- 32位系统装4G以上的内存
1.操作系统在32位平台上最大寻址空间是4GB,如果要使用4GB以上的内存,就必须使用intel的PAE(物理地址扩展)模式,在windows NT平台实现PAE只需对boot.ini加上/pae即可 ...
- 《.NET 设计规范》第 6 章:扩展性设计
第 6 章:扩展性设计 6.1 扩展机制 考虑用不包含任何虚成员或受保护的成员的非密封类来为框架提供扩展性.这种方法所提供的扩展性广受用户欢迎,而且它的开销也不高. 考虑将受保护的成员用于高级的定制方 ...
- ubuntu+mono+PetaPoco+Oracle+.net 程序部署
前言:将windows 下开发的 .net 控制台程序(连接Oracle数据库)部署到 ubuntu 下步骤记录 2017-09-19 实验所用机器为虚拟机Ubuntu16.04 amd64 安装 ...
- UCS业务知识介绍
企业融合网关是集路由.交换.防火墙.VPN.IP PBX等功能于一体的综合性设备,满足企业语音.数据.网络安全等业务需求. UCS融合网关设备则是设备厂商在企业融合网关的基础上进一步提出的融合通信设备 ...
- MySQL分区表基础
首先要确定MySQL是否支持分区: Mysql> SHOW VARIABLES LIKE '%partition%'; +-----------------------+-------+| Va ...
- 微信小程序开发《一》:阿里云tomcat免费配置https
小狼咕咕最近开启了微信小程序开发的征程,由于微信小程序的前后台通信必须通过https协议,所以小狼咕咕第一件要做的事就是配置一个能够通过https访问的后台服务.小狼咕咕用的是阿里云ECS服务器,Li ...
- BZOJ 2822: [AHOI2012]树屋阶梯 [Catalan数 高精度]
2822: [AHOI2012]树屋阶梯 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 779 Solved: 453[Submit][Status] ...