![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
沉迷现实无法自拔
这个作者很懒,什么都没留下…
展开
-
mac下的php安装swoole扩展
phpize./configure --with-openssl-dir=/usr/local/opt/openssl@1.1 --enable-opensslmake && sudo make install原创 2020-12-05 12:05:29 · 316 阅读 · 0 评论 -
PHP抓取https域名,出现CURLE_SSL_CACERT_BADFILE (77)
问题描述,下面情况表示没找到cacert.pem证书CURLE_SSL_CACERT_BADFILE (77)Fatal error: Uncaught GuzzleHttp\Exception\RequestException: cURL error 77: error setting certificate verify locations: CAfile: C:\Users\Administrator\Downloads\cacert.pem解决办法1、直接关闭证书检查。2、下载证原创 2020-07-02 21:41:24 · 1325 阅读 · 0 评论 -
docker在容器外执行容器内的某个命令
主要就是 -c 参数,后面的字符串就是容器内需要执行的命令,注意路径,防止命令不存在,下面命令只是演示docker exec -it php-fpm /bin/bash -c 'cd /www/www/zxzyw-php && php easyswoole start d'...原创 2019-11-20 12:49:09 · 2375 阅读 · 0 评论 -
Yii视图添加资源文件在所有资源文件的下面
// 在视图文件里按照下面的格式添加资源$this->registerJsFile($jsFilePath, [AppAsset::className(), 'depends' => 'frontend\assets\AppAsset']);$this->registerCssFile($jsFilePath, [AppAsset::className(), 'depends' => 'front原创 2017-12-19 10:03:12 · 399 阅读 · 0 评论 -
mysql同一个表,多种条件的多种排序
mysql同一个表,多种条件的多种排序,这里使用了php结合mysql实现/** * 这里是一个以Yii框架开发的一个程序,其他框架同理 * * 示例使用场景介绍: * 1、一个类似滴滴的APP订单列表 * 2、订单状态为 1, 2, 3, 4 的始终在其他状态的前面 * 3、订单状态为 1, 2, 3, 4 的按照订单生成时间倒序排 * 4、订单状态不为 1, 2, 3,原创 2017-12-15 14:46:49 · 881 阅读 · 0 评论 -
php数组每隔几条插入新的数据
<?php$list = [ ['a1' => 'a1', 'b1' => 'b1'], ['a2' => 'a2', 'b2' => 'b2'], ['a3' => 'a3', 'b3' => 'b3'], ['a4' => 'a4', 'b4' => 'b4'], ['a5' => 'a5', 'b5' => 'b5'], ['a6' => 'a6原创 2017-11-28 10:54:42 · 1604 阅读 · 0 评论 -
正则匹配1开头的11位数字
preg_match('/^1[0-9]{10}$/', $a)原创 2017-11-27 15:39:18 · 29988 阅读 · 0 评论 -
PHPExcel读取Excel文件出现内存不足
// 如果是因为特殊字符引起的,可以在load方法之前加上setReadDataOnly(意思是忽略任何格式的信息)方法,就可以避免$objReader->setReadDataOnly(true);//只需要添加这个方法$objPHPExcel = $objReader->load($uploadFilePath);原创 2017-09-01 11:27:17 · 2765 阅读 · 0 评论 -
Yii发送邮件配置(163)
在配置文件中(main-local.php),添加下列代码(注意是放到 components 参数里):'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', 'useFileTransport' =>false,//这句一定有,false发送邮件,true只是生成邮件在runtime文件夹下,不发邮件 '原创 2017-08-04 14:26:17 · 696 阅读 · 0 评论 -
用redis实现悲观锁(后端语言以php为例)
这里只介绍下锁的实现机制,其余业务逻辑略过。由于加锁过程应该是不可拆解的,也就是常说的原子型操作,因此这里选择redis中的setnx操作作为加锁的方法。 简化版的代码如下: 这段代码有个问题,就是setnx成功,但expire失败,这就可能存在死任务的情况。解决这个问题的一种通用方法是通过使function lock($strMutex, $intTimeout) { $o转载 2018-01-15 10:20:01 · 748 阅读 · 0 评论 -
CentOS系统PHP环境下的CURL库的SSL Version默认为NSS,变更为OpenSSL
1、先来一次 yum update,把openssl更新到最新版本2、然后确认curl的ssl版本是不是openssl,centos默认安装的是NSS curl --version3、如果检测不是如上图的openssl,就要下载curl重新编译wget https://curl.haxx.se/download/archeology/curl-7.19.7.tar.gztar...原创 2018-07-18 15:42:56 · 3052 阅读 · 0 评论 -
Linux编译安装php扩展
进入解压后的php源码包目录 cd /usr/local/src/php-7.2.7然后再进入到里面的 ext 目录里面对应的扩展目录 这里我列出自己编译过的扩展(安装好之后,需要到php.ini文件里面打开对应的扩展)curlphpize./configure --with-curl=/usr/local/curl --with-php-config=/usr/local/...原创 2018-07-18 15:51:55 · 773 阅读 · 0 评论 -
大家庭
php源码包安装:原创 2019-03-30 17:13:04 · 967 阅读 · 0 评论 -
禅道 Session存储目录检测不通过
编译 php.ihi文件,打开 session.save_path 的注释原创 2019-04-28 23:23:13 · 1906 阅读 · 0 评论 -
php-fpm开机启动,加入service管理
1、新增文件 vim /etc/init.d/php-fpm 内容如下#!/bin/sh # chkconfig: 2345 15 95# description: PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation \# with some additional fe...原创 2019-05-08 19:51:27 · 2379 阅读 · 0 评论 -
手动获取有道云笔记的文件直链(PHP代码获取)
<?php$id = $_GET['id'] ?? '';if (empty($id)) { exit('缺少有道云分享id');}$url = "http://note.youdao.com/yws/public/note/{$id}?editorType=0&cstk=cGtjFpHb";$res = file_get_contents($url);$r...原创 2019-07-18 12:43:04 · 1729 阅读 · 1 评论 -
GIT实现自动拉取代码(可实现自动部署)
一、利用crontab定时任务编辑用户的定时任务: crontab -e在用户定时任务文件里写入定时命令 每过1分钟执行后面的命令 : */1 * * * * cd /home/wwwroot/default/GIT/autoload;/usr/local/bin/git pullcd /home/wwwroot/default/GIT/autoload 表示进入到git项目目录/usr原创 2017-05-12 13:48:21 · 16458 阅读 · 0 评论 -
高并发下的秒杀、抢东西
这里以TP框架为例子:一、利用MYSQL锁表的功能这个方法核心就是锁表和解锁:// 这里锁定tests表M()->execute('LOCK TABLES tests WRITE');$data = M('tests')->find(1);if ($data['counts'] > 0) { M('tests')->where('id=1')->setDec('counts');原创 2017-05-12 13:18:46 · 336 阅读 · 0 评论 -
php session介绍及简单演示
对于会话管理机制,我以前php教程中说过cookie会话,相对Cookie,Session会话相对安全,它是以文本形式保存在服务器端,而Cookie保存在客户端,因此用户可以修改Cookie的值,获取管理员的权限。但是会话信息是临时的,在用户离开网站后将被删除。如果您需要永久储存信息,可以把数据存储在数据库中。session文件是以“变量名|类型:长度:值”的格式存储的。新手仔细看下面简单php教程转载 2016-03-26 10:46:21 · 254 阅读 · 0 评论 -
PHP过滤手机APP的表情
$content = preg_replace_callback('/[\xf0-\xf7].{3}/', function($r) { return ''; }, $content);$content = preg_replace('/[\xf0-\xf7].{3}/', '', $content);原创 2016-03-15 15:25:31 · 262 阅读 · 0 评论 -
用于判断手机浏览器和pc浏览器的代码
public function is_mobile(){ $user_agent = $_SERVER['HTTP_USER_AGENT']; $mobile_agents = Array("240x320", "acer", "acoon", "acs-", "abacho", "ahong", "airness", "alcatel", "amoi", "android", "原创 2016-03-15 16:35:20 · 606 阅读 · 0 评论 -
验证码本地正常,服务器不正常(GD开启的情况下)
这个有可能是缓存照成的,加上下面这个函数就OK了。ob_clean();ob_clean — 清空(擦掉)输出缓冲区原创 2016-03-15 16:52:28 · 384 阅读 · 0 评论 -
PHP对二维数组按字段进行排序
/** * 对二维数组进行排序 * @param array $list 二维数组 * @param string $field 排序的字段名 * @param string $sortby 排序类型 asc正向排序 desc逆向排序 nat自然排序 * @return array */function list_sort_by($list, $field, $sortby='asc'原创 2016-03-15 16:53:25 · 209 阅读 · 0 评论 -
遍历目录下的所有文件
array_map('basename', glob('目录路径*')); 返回的是一个当前目录下的文件名数组原创 2016-03-15 16:54:03 · 200 阅读 · 0 评论 -
PHP截取中英混合字符串(UTF-8)
/** * 截取中文字符长度 * @param string $string 截取的字符串 * @param int $length 保留的长度 * @param string $etc 省略字符 * @return string 截取后得字符串 */ function truncate_utf8_string($string, $原创 2016-03-15 16:54:44 · 565 阅读 · 0 评论 -
格式化app Json对象函数(我常用的)
/** * 格式化为app需要的json对象 * @param integer $ret 状态码 * @param string $msg 说明 * @param array $data 返回数据数组 * @return json */function formatJson($ret = 0, $msg = '', $data = array()){ heade原创 2016-03-15 16:55:25 · 363 阅读 · 0 评论 -
PHP cURL最基本的请求方式
<?php$ch = curl_init();curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com'); // 设置访问的路径curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 不直接输出$result = curl_exec($ch); // 执行访问,并接收返回的数据curl_close原创 2016-03-15 16:56:00 · 273 阅读 · 0 评论 -
一个简单的数据导出excel类
<?php/** * 生成excel文件操作 */class Excel{ private $limit = 10000; public function download($data, $fileName) { $fileName = $this->_charset($fileName); header("Content-Type: a原创 2016-03-15 16:56:32 · 267 阅读 · 0 评论 -
获取每个月的第一天和最后一天
我们每次需要获取这个月第一天和最后一天的时间戳代码一般如下:strtotime(date('Y-m-01')); //获取从1号0点开始的时间戳。strtotime('+1 month -1 day', strtotime(date('Y-m-01'))); //获取这个月最后一天23点59分的时间戳。但是这样子会计算多次。如果我们使用 Relative Formats 来计算的话,会变的简单得多原创 2016-03-15 16:57:38 · 2991 阅读 · 0 评论 -
php如何在原来的时间上加一天?一小时?
php如何在原来的时间上加一天?一小时?<?phpecho "今天:",date('Y-m-d H:i:s'),"<br>";echo "明天:",date('Y-m-d H:i:s',strtotime('+1 day'));?>上一行输出当前时间,下一行输出明天时间这里+1 day 可以修改参数1为任何想需要的数 day也可以改成year(年),month(月),hour(小时),minu原创 2016-03-15 16:59:06 · 565 阅读 · 0 评论 -
PHP使用__autoload()函数自动加载未定义的类
这个函数一看就非常有用,特别当你的类文件很多时,有网友测试,__autoload()对性能影响不大,当PHP引擎遇到未实例化的类是就会触发这个方法,比如说我写的博客系统,在初始化的时候我会这样做:/** * 自动加载相关类库文件 * by www.phpddt.com */function __autoload($classname){ if(substr($classname,-6转载 2016-03-26 10:05:22 · 468 阅读 · 0 评论 -
PHP中spl_autoload_register()和__autoload()区别
关于spl_autoload_register()和__autoload(),相信大多数都会选择前者了? 看两者的用法://__autoload用法function __autoload($classname){ $filename = "./class/".$classname.".class.php"; if (is_file($filename)) {转载 2016-03-26 10:03:01 · 270 阅读 · 0 评论 -
PHP 对象和数组的相互转化
对象和数组的相互转化在开发中也是很常见,一般不是多维的情况下直接(array)和(object)就可搞定了,多维的话,遍历下也就可以了:<?php/** * 对象和数组的相互转化 * @link http://www.phpddt.com PHP分享平台 */class Test{ public $a; public $b; public function __co转载 2016-03-26 10:18:00 · 218 阅读 · 0 评论 -
php会话管理cookie介绍
<?phpif (!isset($_COOKIE['visited'])){ //如果cookie不存在,则新建 setcookie("visited","www.phpddt.com",mktime()+86400,"/") or die("客户端禁止cookie"); echo "欢迎首次访问本站";}else{ echo "欢迎再次访问本站"; //如果cookie存在}?转载 2016-03-26 10:32:11 · 271 阅读 · 0 评论 -
Blog Start
<?php function index() { echo 'Hello World!'; }?>原创 2016-01-30 22:06:00 · 303 阅读 · 0 评论