分类目录归档:PHP

分享php相关技术

CURL状态码列表(详细)

CURL状态码列表

状态码

状态原因

解释

0

正常访问

 

1

错误的协议

未支持的协议。此版cURL 不支持这一协议。

2

初始化代码失败

初始化失败。

3

URL格式不正确

URL 格式错误。语法不正确。

4

请求协议错误

 

5

无法解析代理

无法解析代理。无法解析给定代理主机。

6

无法解析主机地址

无法解析主机。无法解析给定的远程主机。

7

无法连接到主机

无法连接到主机。

8

远程服务器不可用

FTP 非正常的服务器应答。cURL 无法解析服务器发送的数据。

9

访问资源错误

FTP 访问被拒绝。服务器拒绝登入或无法获取您想要的特定资源或目录。最有可
能的是您试图进入一个在此服务器上不存在的目录。

11

FTP密码错误

FTP 非正常的PASS 回复。cURL 无法解析发送到PASS 请求的应答。

13

结果错误

FTP 非正常的的PASV 应答,cURL 无法解析发送到PASV 请求的应答。

14

FTP回应PASV命令

FTP 非正常的227格式。cURL 无法解析服务器发送的227行。

15

内部故障

FTP 无法连接到主机。无法解析在227行中获取的主机IP。

17

设置传输模式为二进制

FTP 无法设定为二进制传输。无法改变传输方式到二进制。

18

文件传输短或大于预期

部分文件。只有部分文件被传输。

19

RETR命令传输完成

FTP 不能下载/访问给定的文件, RETR (或类似)命令失败。

21

命令成功完成

FTP quote 错误。quote 命令从服务器返回错误。

22

返回正常

HTTP 找不到网页。找不到所请求的URL 或返回另一个HTTP 400或以上错误。
此返回代码只出现在使用了-f/–fail 选项以后。

23

数据写入失败

写入错误。cURL 无法向本地文件系统或类似目的写入数据。

25

无法启动上传

FTP 无法STOR 文件。服务器拒绝了用于FTP 上传的STOR 操作。

26

回调错误

读错误。各类读取问题。

27

内存分配请求失败

内存不足。内存分配请求失败。

28

访问超时

操作超时。到达指定的超时期限条件。

30

FTP端口错误

FTP PORT 失败。PORT 命令失败。并非所有的FTP 服务器支持PORT 命令,请
尝试使用被动(PASV)传输代替!

31

FTP错误

FTP 无法使用REST 命令。REST 命令失败。此命令用来恢复的FTP 传输。

33

不支持请求

HTTP range 错误。range “命令”不起作用。

34

内部发生错误

HTTP POST 错误。内部POST 请求产生错误。

35

SSL/TLS握手失败

SSL 连接错误。SSL 握手失败。

36

下载无法恢复

FTP 续传损坏。不能继续早些时候被中止的下载。

37

文件权限错误

文件无法读取。无法打开文件。权限问题?

38

LDAP可没有约束力

LDAP 无法绑定。LDAP 绑定(bind)操作失败。

39

LDAP搜索失败

LDAP 搜索失败。

41

函数没有找到

功能无法找到。无法找到必要的LDAP 功能。

42

中止的回调

由回调终止。应用程序告知cURL 终止运作。

43

内部错误

内部错误。由一个不正确参数调用了功能。

45

接口错误

接口错误。指定的外发接口无法使用。

47

过多的重定向

过多的重定向。cURL 达到了跟随重定向设定的最大限额跟

48

无法识别选项

指定了未知TELNET 选项。

49

TELNET格式错误

不合式的telnet 选项。

51

远程服务器的SSL证书

peer 的SSL 证书或SSH 的MD5指纹没有确定。

52

服务器无返回内容

服务器无任何应答,该情况在此处被认为是一个错误。

53

加密引擎未找到

找不到SSL 加密引擎。

54

设定默认SSL加密失败

无法将SSL 加密引擎设置为默认。

55

无法发送网络数据

发送网络数据失败。

56

衰竭接收网络数据

在接收网络数据时失败。

57

   

58

本地客户端证书

本地证书有问题。

59

无法使用密码

无法使用指定的SSL 密码。

60

凭证无法验证

peer 证书无法被已知的CA 证书验证。

61

无法识别的传输编码

无法辨识的传输编码。

62

无效的LDAP URL

无效的LDAP URL。

63

文件超过最大大小

超过最大文件尺寸。

64

FTP失败

要求的FTP 的SSL 水平失败。

65

倒带操作失败

发送此数据需要的回卷(rewind)失败。

66

SSL引擎失败

初始化SSL 引擎失败。

67

服务器拒绝登录

用户名、密码或类似的信息未被接受,cURL 登录失败。

68

未找到文件

在TFTP 服务器上找不到文件。

69

无权限

TFTP 服务器权限有问题。

70

超出服务器磁盘空间

TFTP 服务器磁盘空间不足。

71

非法TFTP操作

非法的TFTP 操作。

72

未知TFTP传输的ID

未知TFTP 传输编号(ID)。

73

文件已经存在

文件已存在(TFTP) 。

74

错误TFTP服务器

无此用户(TFTP) 。

75

字符转换失败

字符转换失败。

76

必须记录回调

需要字符转换功能。

77

CA证书权限

读SSL 证书出现问题(路径?访问权限? ) 。

78

URL中引用资源不存在

URL 中引用的资源不存在。

79

错误发生在SSH会话

SSH 会话期间发生一个未知错误。

80

无法关闭SSL连接

未能关闭SSL 连接。

81

服务未准备

 

82

无法载入CRL文件

无法加载CRL 文件,丢失或格式不正确(在7.19.0版中增加) 。

83

发行人检查失败

签发检查失败(在7.19.0版中增加) 。

[centos7]zookeeper安装使用、php zookeeper扩展安装

一、安装zookeeper
tar xvzf zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6 zookeeper

/usr/local/zookeeper/bin/zkServer.sh start
/usr/local/zookeeper/bin/zkServer.sh status
/usr/local/zookeeper/bin/zkServer.sh stop
/usr/local/zookeeper/bin/zkServer.sh restart

二、zookeeper客户端使用

/usr/local/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181

1. 显示根目录下、文件: ls / 使用 ls 命令来查看当前 ZooKeeper 中所包含的内容
2. 显示根目录下、文件: ls2 / 查看当前节点数据并能看到更新次数等数据
3. 创建文件,并设置初始内容: create /zk “test” 创建一个新的 znode节点“ zk ”以及与它关联的字符串
4. 获取文件内容: get /zk 确认 znode 是否包含我们所创建的字符串
5. 修改文件内容: set /zk “zkbak” 对 zk 所关联的字符串进行设置
6. 删除文件: delete /zk 将刚才创建的 znode 删除
7. 退出客户端: quit
8. 帮助命令: help

可以通过命令:echo stat|nc 127.0.0.1 2181 来查看哪个节点被选择作为follower或者leader
使用echo ruok|nc 127.0.0.1 2181 测试是否启动了该Server,若回复imok表示已经启动。
echo dump| nc 127.0.0.1 2181 ,列出未经处理的会话和临时节点。
echo kill | nc 127.0.0.1 2181 ,关掉server
echo conf | nc 127.0.0.1 2181 ,输出相关服务配置的详细信息。
echo cons | nc 127.0.0.1 2181 ,列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。
echo envi |nc 127.0.0.1 2181 ,输出关于服务环境的详细信息(区别于 conf 命令)。
echo reqs | nc 127.0.0.1 2181 ,列出未经处理的请求。
echo wchs | nc 127.0.0.1 2181 ,列出服务器 watch 的详细信息。
echo wchc | nc 127.0.0.1 2181 ,通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。
echo wchp | nc 127.0.0.1 2181 ,通过路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。
三、安装libzookeeper
cd /usr/local/zookeeper/src/c
./configure -prefix=/usr/local/zookeeper
make && make install

Libraries have been installed in:
/usr/local/zookeeper/lib

四、安装php zookeeper扩展
http://pecl.php.net/package/zookeeper

wget “http://pecl.php.net/get/zookeeper-0.2.2.tgz”
tar xvzf zookeeper-0.2.2.tgz
cd zookeeper-0.2.2
/usr/local/php/bin/phpize
./configure -with-php-config=/usr/local/php/bin/php-config -with-libzookeeper-dir=/usr/local/zookeeper/
make && make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/

vim /usr/local/php/etc/php.ini
[zookeeper]
extension=zookeeper.so

参与资料:
http://mirror.bit.edu.cn/apache/zookeeper/
http://pecl.php.net/package/zookeeper
http://www.wfuyu.com/mvc/22178.html
http://blog.csdn.net/xiaolang85/article/details/13021339

[php]关闭php版本信息X-Powered-By

查看网页header信息,可以看到PHP的版本,为了安全起见,我们可以关闭这个PHP版本的信息(X-Powered-By)

curl –head “http://blog.54xiake.cn”
HTTP/1.1 200 OK
Server: nginx/1.1.5
Date: Sat, 10 Jun 2017 05:09:36 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.5.29
X-Pingback: http://blog.54xiake.cn/xmlrpc.php

php.ini中搜索expose_php,默认为On
修改为expose_php = Off

[php]windows上启动两个apache,两个版本php

原理:安装两个apache服务,对应不同的配置文件(http.conf),加载不同的php模块,启用两个不同端口。

apache版本:apache2.4.10
php版本:php5.5.18/php7.1.5

两个httpd.conf配置文件差异部分

httpd.conf

Listen 80
PHPIniDir “F:/SERVER/php5.5.18”
LoadFile “F:/SERVER/php5.5.18/libpq.dll”
LoadFile “F:/SERVER/php5.5.18/libpq.dll”
LoadFile “F:/SERVER/php5.5.18/libeay32.dll”
LoadFile “F:/SERVER/php5.5.18/ssleay32.dll”
LoadModule php5_module “F:/SERVER/php5.5.18/php5apache2_4.dll”

httpd-php7.conf

Listen 81
PHPIniDir “F:/SERVER/php7.1.5”
LoadFile “F:/SERVER/php7.1.5/libpq.dll”
LoadFile “F:/SERVER/php7.1.5/libpq.dll”
LoadFile “F:/SERVER/php7.1.5/libeay32.dll”
LoadFile “F:/SERVER/php7.1.5/ssleay32.dll”
LoadModule php7_module “F:/SERVER/php7.1.5/php7apache2_4.dll”

两个php.ini配置文件差异部分
php5.5.18中php.ini文件
extension_dir = “F:\SERVER\php5.5.18\ext\”

php7.1.5中php.ini文件
extension_dir = “F:\SERVER\php7.1.5\ext”

将需要的扩展打开
extension=php_gd2.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pgsql.dll
extension=php_soap.dll
服务安装
F:\SERVER\apache2.4.10\bin\httpd.exe -k install -n Apache2.4 -f “F:\SERVER\apache2.4.10\conf\httpd.conf”
F:\SERVER\apache2.4.10\bin\httpd.exe -k install -n Apache2.4-Php7 -f “F:\SERVER\apache2.4.10\conf\httpd-php7.conf”

启动服务即可
net start Apache2.4
net start Apache2.4-Php7

访问
http://localhost
查看server
Server:Apache/2.4.10 (Win64) OpenSSL/1.0.2k PHP/5.5.18
http://localhost:80
查看server
Server:Apache/2.4.10 (Win64) OpenSSL/1.0.2k PHP/7.1.5

[laravel]怎么禁止laravel自动转义HTML标签?

问题:使用ueditor显示数据库中存取的html数据,出现html被转义
解决方法:
Blade输出的时候,使用下面的方式

<script type="text/javascript">
    var ue = UE.getEditor('container');
    ue.ready(function() {
        ue.execCommand('serverparam', '_token', '{{ csrf_token() }}');
        ue.setContent("{!!$content!!}");//{{$content}}这样会被转义
    });
</script>

这样输出的是没有转义的值。

5120 recv() failed (104: Connection reset by peer) while reading response

问题:

图片不显示,nginx报错如下:

[error] 28585#0: *5120 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 124.127.211.125, server: www.54xiake.cn, request: “GET /admin/index.php?act=captcha&2027168701 HTTP/1.1”, upstream: “fastcgi://127.0.0.1:9000”, host: “www.54xiake.cn”

查看

Nov 02 23:50:15.324126 [WARNING] fpm_stdio_child_said(), line 167: child 10866 (pool default) said into stderr: “libpng warning: Application was compiled with png.h from libpng-1.5.12”
Nov 02 23:50:15.324325 [WARNING] fpm_stdio_child_said(), line 167: child 10866 (pool default) said into stderr: “”
Nov 02 23:50:15.324411 [WARNING] fpm_stdio_child_said(), line 167: child 10866 (pool default) said into stderr: “libpng warning: Application is running with png.c from libpng-1.2.49”
Nov 02 23:50:15.324490 [WARNING] fpm_stdio_child_said(), line 167: child 10866 (pool default) said into stderr: “”
Nov 02 23:50:15.324582 [WARNING] fpm_stdio_child_said(), line 167: child 10866 (pool default) said into stderr: “gd-png: fatal libpng error: Incompatible libpng version in application and library”
Nov 02 23:50:16.061598 [NOTICE] fpm_got_signal(), line 48: received SIGCHLD
Nov 02 23:50:16.061754 [WARNING] fpm_children_bury(), line 215: child 10866 (pool default) exited on signal 11 SIGSEGV (core dumped) after 113.343143 seconds from start
Nov 02 23:50:16.062287 [NOTICE] fpm_children_make(), line 352: child 11306 (pool default) started

解决:

rpm -e –nodeps libpng-devel-1.2.49-1.el6_2.x86_64

rpm -e –nodeps libpng-1.2.49-1.el6_2.x86_64

 

 

 

win7(32)-apache2.2.9-mysql5.5.25-php5.3.28开发环境配置

作为一名php程序员,最好还是学会自己搭开发环境,这样才能知道哪些模块是自己需要的,出了问题到底应该怎么解决,今天把自己搭的一个环境整理了一下,大致修改都有了,有兴趣的朋友可以看看。还有一些其他版本的,有时间整理了,在分享吧,呵呵!

配置好的环境已经放到百度网盘

链接: http://pan.baidu.com/s/1o63FtsY 密码: efaw

大致过程如下,希望能帮到一些朋友

win7(32)-apache2.2.9-mysql5.5.25-php5.3.28
将MyServer.zip解压到E盘根目录,自己手动安装服务
一、配置环境
操作系统:win7 32位
php版本:php-5.3.28(32位)
apache版本:httpd-2.2.9(32位)
mysql版本:mysql-5.5.25

二、配置文件修改
httpd.conf修改
ServerRoot “E:/MyServer/apache2.2”
Listen 9090
PHPIniDir “E:/MyServer/php5.3.28”
LoadFile “E:/MyServer/php5.3.28/ssleay32.dll”
LoadFile “E:/MyServer/php5.3.28/libeay32.dll”
LoadFile “E:/MyServer/mysql5.5/lib/libmysql.dll”
LoadModule php5_module “E:/MyServer/php5.3.28/php5apache2_2.dll”
ServerName localhost:9090
DocumentRoot “E:/MyServer/apache2.2/htdocs”
NameVirtualHost *:9090
Include “conf/vhosts/*.conf”

test.conf
<VirtualHost *:9090>
DocumentRoot “E:\MyServer\www\test”
ServerName www.test.com
<Directory />
Options Indexes FollowSymLinks
DirectoryIndex index.html index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</VirtualHost>

php.ini修改
short_open_tag = On
display_errors = On
extension_dir = “E:\MyServer\php5.3.28\ext\”
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
[memcache]
extension=php_memcache.dll

my.ini修改
basedir=”E:/MyServer/mysql5.5/”
datadir=”E:/MyServer/mysql5.5/data/”

把E:\MyServer\php5.3.28\php5ts.dll拷贝到E:\MyServer\apache2.2\bin这个目录下面
重启apache

host修改(用于虚拟主机通过域名本地访问)
用文本编辑工具打开C:\Windows\System32\drivers\etc\hosts
本地host增加一行记录
127.0.0.1 www.test.com

数据库
E:\MyServer\mysql5.5\bin>mysqladmin -u root -p password 54xiake.cn
账号root密码54xiake.cn

三、安装|卸载服务(以管理员身份运行cmd.exe)
C:\Windows\System32\cmd.exe

安装|启动服务
E:\MyServer\apache2.2\bin\httpd.exe -k install -n Apache2.2 -f “E:\MyServer\apache2.2\conf\httpd.conf”
net start Apache2.2

E:\MyServer\mysql5.5\bin\mysqld.exe –install MySQL5.5 –defaults-file=”E:\MyServer\mysql5.5\my.ini”
net start MySQL5.5

停止|卸载服务
net stop Apache2.2
sc delete Apache2.2

net stop MySQL5.5
sc delete MySQL5.5
E:\MyServer\mysql5.5\bin\mysqld.exe -remove MySQL5.5

四、问题解决
1、PHP Warning: PHP Startup: Unable to load dynamic library ‘E:\\MyServer\\php5.3.28\\ext\\php_curl.dll’ – \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
解决方法:
LoadFile “E:/MyServer/php5.3.28/ssleay32.dll”
LoadFile “E:/MyServer/php5.3.28/libeay32.dll”

五、访问测试
phpinfo
http://www.test.com:9090/p.php
php探针
http://www.test.com:9090/tz.php
系统测试(Piwik: 开放源代码的Web统计软件)
http://www.test.com:9090/piwik
账号:admin 密码:123456

有任何问题,请留言,好了,就这么多了,期待下回分享吧!