一切福田,不離方寸,從心而覓,感無不通。

Category Archives: PHP

Docker容器下PHP安装zip扩展

docker容器下PHP有自己特有的安装扩展方法: docker-php-source //在容器中创建/usr/src/php文件夹 docker-php-ext-install //安装并启动扩展(常用) docker-php-ext-enable //启动PHP扩展 docker-php-ext-configure //添加扩展自定义配置,和enable搭配使用 安装zip扩展所需的依赖扩展 apt-get update && apt-get install -y zlib1g-dev && apt-get install -y libzip-dev 安装并启动zip扩展 docker-php-ext-install zip ———————————————— 版权声明:本文为CSDN博主「reg183」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/chendongpu/article/details/120796468

龙生   11 Feb 2022
View Details

docker php安装GD扩展

apt update #更新软件源 apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev #安装各种库 docker-php-source extract #解压源码 cd /usr/src/php/ext/gd #gd源码文件夹 docker-php-ext-configure gd --with-webp-dir=/usr/include/webp --with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-freetype-dir=/usr/include/freetype2 #准备编译 docker-php-ext-install gd #编译安装 php -m | grep gd from:https://www.cnblogs.com/xuezhigu/p/13717353.html

龙生   11 Feb 2022
View Details

把OctoberCMS的web服务器由Apache更换为Nginx

卸载安装的apache和php yum remove httpd* php* 使用php -v看是否还能看到php的版本信息,如果能,说明没卸载干净,继续进行以下操作: rpm -qa | grep php 根据列表卸载,注意卸载顺序,先卸载没有依赖的。 正确的卸载顺序为: rpm -e php-mysql-5.1.6-27.el5_5.3 rpm -e php-pdo-5.1.6-27.el5_5.3 rpm -e php-xml-5.1.6-27.el5_5.3 rpm -e php-cli-5.1.6-27.el5_5.3 rpm -e php-gd-5.1.6-27.el5_5.3 rpm -e php-common-5.1.6-27.el5_5.3 最后,再用php -v,看看是否卸载干净。 安装PHP和PHP-FPM nginx本身是个web服务器,需要安装php-fpm处理php文件,php-fpm把处理结果返回给nginx。 php-fpm是一个管理fastcgi的工具,以前是第三方的包,现在php7.0版本已经集成了这个东西。 yum默认安装的是老版本PHP,需要增加额外资源库,才能安装新版php7.0: CentOs 6.x

  CentOs 7.X

  如果想删除上面安装的包,使用以下命令: rpm -qa | grep webtatic rpm -e 上面搜索到的包即可 yum list php* //显示可用的php安装包 安装php7.0 yum -y install php70w.x86_64 php -v //查看安装的php版本 php -m //查看安装的php模块 查找php: which php 或 whereis php 安装php-fpm yum -y install php70w-fpm.x86_64 根据需要,安装其他模块,命令为:php -y install XXXXX 统一nginx与php-fpm的运行用户 对于静态文件,nginx运行用户要有对文件的读/读写权限。 对于php文件,nginx运行用户霜有对文件的读权限,发现是php文件后,转发给php-fpm。php-fpm运行用户要有对这些文件的读/读写权限。 […]

龙生   31 Jan 2022
View Details

如何让WORDPRESS不显示文章全部内容,只显示部分摘要

WordPress首页默认显示的是每篇文章的全部内容 ,发表文章的时候在首页面预览会显示文章的全部内容,很影响我们的阅读体验. 在wp-content\themes目录下,选择你自己安装模板,然后打开index.php,你会发现部分代码如下:

index.php是调用xxx.php的文件用来输出文章的内容,你在模板目录下找到xxx.php,打开编辑它,找到这段代码:

将该行代码注释掉,修改成:

  from:https://www.cnblogs.com/lionli/p/11944963.html

龙生   21 Jan 2022
View Details

PHP:cURL error 60: SSL certificate unable to get local issuer certificate

导致该问题的原因在于没有配置curl.cainfo,该配置位于php.ini中。 解决方案: 1)下载cacert.pem https://curl.haxx.se/ca/cacert.pem 2)配置php.ini [curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. curl.cainfo = 【你的绝对路径】 ———————————————— 版权声明:本文为CSDN博主「loophome」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/loophome/java/article/details/83112364

龙生   23 Apr 2020
View Details

mac 重启php-fpm

查看php-fpm端口是否在被php-fpm使用

  一般修改 php.ini 文件后经常需要重启php-fpm

  再输入 sudo lsof -i:9000 就会发现php-fpm没有打印对应端口

  from:https://www.cnblogs.com/cap-rq/p/11460282.html

龙生   08 Mar 2020
View Details

浅谈php中使用websocket

在PHP中,开发者需要考虑的东西比较多,从socket的连接、建立、绑定、监听等都需要开发者自己去操作完成,对于初学者来说,难度方面也挺大的,所以本文的思路如下: 1、socket协议的简介 2、介绍client与server之间的连接原理 3、PHP中建立socket的过程讲解 4、用一个聊天室作为实例详细讲解在PHP中如何使用socket 一、socket协议的简介   WebSocket是什么,有什么优点   WebSocket是一个持久化的协议,这是相对于http非持久化来说的。 举个简单的例子,http1.0的生命周期是以request作为界定的,也就是一个request,一个response,对于http来说,本次client与server的会话到此结束;而在http1.1中,稍微有所改进,即添加了keep-alive,也就是在一个http连接中可以进行多个request请求和多个response接受操作。然而在实时通信中,并没有多大的作用,http只能由client发起请求,server才能返回信息,即server不能主动向client推送信息,无法满足实时通信的要求。而WebSocket可以进行持久化连接,即client只需进行一次握手,成功后即可持续进行数据通信,值得关注的是WebSocket实现client与server之间全双工通信,即server端有数据更新时可以主动推送给client端。 二、介绍client与server之间的socket连接原理 1、下面是一个演示client和server之间建立WebSocket连接时握手部分      2、client与server建立socket时握手的会话内容,即request与response   a、client建立WebSocket时向服务器端请求的信息 GET /chat HTTP/1.1 Host: server.example.com Upgrade: websocket //告诉服务器现在发送的是WebSocket协议 Connection: Upgrade Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw== //是一个Base64 encode的值,这个是浏览器随机生成的,用于验证服务器端返回数据是否是WebSocket助理 Sec-WebSocket-Protocol: chat, superchat Sec-WebSocket-Version: 13 Origin: http://example.com  b、服务器获取到client请求的信息后,根据WebSocket协议对数据进行处理并返回,其中要对Sec-WebSocket-Key进行加密等操作 HTTP/1.1 101 Switching Protocols Upgrade: websocket //依然是固定的,告诉客户端即将升级的是Websocket协议,而不是mozillasocket,lurnarsocket或者shitsocket Connection: Upgrade Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk= //这个则是经过服务器确认,并且加密过后的 Sec-WebSocket-Key,也就是client要求建立WebSocket验证的凭证 Sec-WebSocket-Protocol: chat   3、socket建立连接原理图:        三、PHP中建立socket的过程讲解 1、在PHP中,client与server之间建立socket通信,首先在PHP中创建socket并监听端口信息,代码如下:

  2、设计一个循环挂起WebSocket通道,进行数据的接收、处理和发送

  3、以上服务器端完成的WebSocket的前期工作后,就等着client连接进行,client创建WebSocket很简单,代码如下:

  四、聊天室实例代码 1、PHP部分

  2、client部分

  参考连接:http://www.jb51.net/article/48019.htm,http://blog.sina.com.cn/s/blog_bf397e780102w25k.html   from:https://www.cnblogs.com/jiangzuo/p/5896301.html

龙生   01 Mar 2020
View Details

is_uploaded_file总是返回false的问题

is_uploaded_file ile总是返回false,根据以下方法进行检查,全部检查通过。

最后,找到一篇帖子, 将文件名用realpath函数过滤一下即可。

原文链接:http://www.xiumu.org/other/under-the-iis-is_uploaded_file-always-returns-false.shtml from:https://my.oschina.net/qii/blog/400692?p=1

龙生   25 Nov 2019
View Details

php7.1以上 mcrypt_generic_open is deprecated 报错处理

php7.1以上. mcrypt_generic_open is deprecated 这个错误, 就是因为mcrypt扩展,在php7.1以上被废弃,服务器不设置报错等级的话, 这个错误会被框架拦截,然后报出微信demo里的40007错误, 具体解决方案,所有 mcrypt扩展的代码,全部加上 错误抑制符 ,例如 //使用BASE64对需要解密的字符串进行解码 原来的代码

  修改的代码

  然后我的问题就解决了。 我的问题主要出在微信的加解密函数上,遇到的坑有几个 1.文档给的class默认有的是小写, 2.一个文件有多个class得拆开 3.构造函数获取的变量名称不对得修改… 这些用断点调试都可以进行解决 还有一种方案是, 我听我朋友说可以用 openssl代替mcrypt扩展的方案(mcrypt编码,openssl解码), 得重写编写微信demo里的代码,虽然我没成功…   from:https://blog.csdn.net/qq_38686693/article/details/81388329

龙生   08 Oct 2019
View Details
1 2 29