打开 php-fpm 错误日志完整记录修改方法


php-fpm的默认日志输出比较少,且nginx中也没有想要日志,因此要做如下修改才能保存完整的记录,方便调试:

[方法]

1. 修改php-fpm.conf中的配置,如果没有请增加:

[global]
catch_workers_output = yes
[www]
error_log = /var/log/php-fpm.log

2. 修改php.ini中配置,没有则增加

log_errors = On
error_log = "/var/log/php-fpm_error.log"
error_reporting=E_ALL&~E_NOTICE

3. 重启php-fpm 即可看到对应的log

继续阅读“打开 php-fpm 错误日志完整记录修改方法”

mysql5.7 配合 php5.6 时出现Call to undefined function mysql_connect 解决方法


[现象]

mysql5.7 配合 php5.6 时出现如下mysql连接错误:

[pool www] child 21312 said into stderr: “NOTICE: PHP message: PHP Fatal error: Call to undefined function mysql_connect()

继续阅读“mysql5.7 配合 php5.6 时出现Call to undefined function mysql_connect 解决方法”

mysql 外部访问设置


1. 增加或者修改用户root的host为%,给与所有IP有访问权限。

mysql>use mysql; 

mysql>update user set host = ‘%’ where user =’root’; 
或者:
mysql>grant all privileges  on *.* to root@'%' identified by "password";

mysql>flush privileges; 
mysql>quit

继续阅读“mysql 外部访问设置”

如何批量下载资源?简单爬虫攻略!


入门python其实一个机缘,虽然现在还是入门状态,但是开始接触主要是由于看到网站上有一个喜欢的漫画,但是不喜欢在电脑上看,想要下载下来,但是一张张的保存又太麻烦了,所以开始学习了爬虫。

一个简单的批量网页资源下载,分为4个部分:

  1. 分析网页规律,找到资源所在的所有网页。
  2. 分析每个网页的源码和特点,找需要资源的URL,并转化成正则表达式。
  3. 编写爬虫程序,下载资源。
  4. 保存资源。

继续阅读“如何批量下载资源?简单爬虫攻略!”

HTTP ( 超文本传输协议 ) 简介


超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议,它是万维网的数据通信的基础。

HTTP的起源与核心机制说明:

设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法,通常是采用请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来进行获取HTML及相应的资源。

HTTP的是由蒂姆·伯纳斯-李于1989年在欧洲核子研究组织(CERN)发起的,其标准制定由万维网协会(World Wide Web Consortium,W3C)和互联网工程任务组(Internet Engineering Task Force,IETF)进行协调和最终发布的,其中包括一系列的RFC,而最著名的则是1999年6月公布的 RFC 2616,在此标准中详细的定义了HTTP协议中现今广泛使用的一个版本——HTTP 1.1。

HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准,其流程为:通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80),去获取应答的服务器上存储着一些资源比如HTML文件和图像等。
注:
a. 客户端被称为用户代理程序(英文:user agent))
b. 应答服务器为源服务器(origin server)。
c. 在用户代理和源服务器中间可能存在多个“中间层”,比如代理服务器、网关或者隧道(tunnel)。

尽管HTTP协议中,并没有规定必须使用它或它支持的层,事实上HTTP可以在任何互联网协议上,或其他网络上实现。HTTP假定其下层协议提供可靠的传输,因此,任何能够提供这种保证的协议都可以被其使用,也就是说其在TCP/IP协议族使用TCP作为其传输层。

通常,由HTTP客户端发起一个请求,创建一个到服务器指定端口(默认是80端口)的TCP连接,HTTP服务器则在那个端口监听客户端的请求,一旦收到请求,服务器会向客户端返回一个状态,比如”HTTP/1.1 200 OK”,以及返回的内容,如请求的文件、错误消息、或者其它信息。

请求方法

HTTP/1.1协议中共定义了八种方法(也叫“动作”)来以不同方式操作指定的资源:

GET
向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据,而不应当被用于产生“副作用”的操作中。

HEAD
与GET方法一样,都是向服务器发出指定资源的请求,只不过服务器将不传回资源的本文部分。它的好处在于,使用这个方法可以在不必传输全部内容的情况下,就可以获取其中“关于该资源的信息”(元信息或称元数据)。

POST
向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。这个请求可能会创建新的资源或修改现有资源,或二者皆有。

PUT
向指定资源位置上传其最新内容。

DELETE
请求服务器删除Request-URI所标识的资源。

TRACE
回显服务器收到的请求,主要用于测试或诊断。

OPTIONS
这个方法可使服务器传回该资源所支持的所有HTTP请求方法。用’*’来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作。

CONNECT
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。通常用于SSL加密服务器的链接(经由非加密的HTTP代理服务器)。

状态码

所有HTTP响应的第一行都是状态行,依次是当前HTTP版本号,3位数字组成的状态代码,以及描述状态的短语,彼此由空格分隔。

状态代码的第一个数字代表当前响应的类型:
1xx消息               ——  请求已被服务器接收,继续处理
2xx成功              ——  请求已成功被服务器接收、理解、并接受
3xx重定向          ——  需要后续操作才能完成这一请求
4xx请求错误      ——  请求含有词法错误或者无法被执行
5xx服务器错误  ——  服务器在处理某个正确请求时发生错误

标准的响应头示例:

HTTP/1.1 200 OK
Content-Length: 3059
Server: GWS/2.0
Date: Sat, 11 Jan 2003 02:44:04 GMT
Content-Type: text/html
Cache-control: private
Set-Cookie: PREF=ID=73d4aef52e57bae9:TM=1042253044:LM=1042253044:S=SMCc_HRPCQiqy
X9j; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com
Connection: keep-alive