
PHP
晓晓攻城师
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PHP之生成左填充0的编号(存储到MYSQL)
项目需求: 定长递增左填充0例子: 000001,000002,000003等等解决方案:备注:如果有更好的解决方案,希望访问者能多多提出意见。谢谢!第一步: 首先考虑MYSQL的存储数据类型,当时第一感觉就是用int类型,因为有个叫zerofill的小东西,于是开始建表:CREATE TABLE `p_file` ( `file_id` int(11) unsigned NOT原创 2017-06-10 14:27:09 · 903 阅读 · 0 评论 -
微信公众号开发(三)--自定义菜单
自定义菜单参考资料微信公众平台微信公众号开发文档遇到的问题当配置服务器信息并启用过后,在微信公众平台设置的自定义菜单失效了。通过接口进行设置自定义菜单官方文档—创建自定义菜单//只展示设置链接的btn$domain = 'http://xxx';$menu = [ 'button'=>[ [ 'name'=>'商城', 'sub_butto原创 2017-12-14 16:49:27 · 423 阅读 · 0 评论 -
微信公众号开发(二)--生成可以关注的二维码
参考资料微信公众平台微信公众号开发文档获取ACCESS_TOKENaccess_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。官方文档—-获取acce原创 2017-12-14 16:22:06 · 6384 阅读 · 0 评论 -
微信公众号开发(四)--微信网页授权,获取用户信息
自定义菜单参考资料微信公众平台微信公众号开发文档网页授权下面代码用THINK_PHP 5.0编写网页点击 微信登录请求该接口,返回相应参数$appId = '';//successUrl用来传递用户授权成功后的跳转地址$successUrl = urlencode($this->request->post('successUrl'));//用户点击同意,跳转的地址,在该地址进行获取用户的信原创 2017-12-14 18:22:29 · 4266 阅读 · 0 评论 -
centos7 yum快速安装php7.1+nginx+mysql+redis
本文介绍快速安装lnmp环境,以及redis,php-redis扩展1. 安装nginxyum install nginx##开启nginxservice nginx start安装成功后,浏览器访问主机公网IP,或者本机的127.0.0.1。会出现以下界面2.安装MYSQLyum localinstall http://dev.mysql.com/get/mysql57-community-r原创 2017-12-27 20:39:39 · 15444 阅读 · 0 评论 -
使用phpoffice/phpexcel导出数据不全或者文件有错误
问题:使用phpoffice/phpexcel导出数据不全或者文件有错误原因:因为mysql使用了utf8mb4的数据存储格式,所以导致有表情的字段会出现这种问题。解决方案:替换字段中的表情符号// 在网上找到了两种方案//第一种:public static function filterEmoji($text, $replaceTo = '') {...原创 2018-02-10 11:11:04 · 1910 阅读 · 0 评论 -
CentOS6.8升级PHP到7.0
1.停止PHP服务 service php-fpm stop2.卸载PHP rpm -qa|grep php rpm remove php*3.更新源 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm rpm -Uvh http...原创 2018-03-07 23:48:24 · 1252 阅读 · 0 评论 -
PHP的伪随机数与真随机数详解
随机数并不随机首先需要声明的是,计算机不会产生绝对随机的随机数,计算机只能产生“伪随机数”。其实绝对随机的随机数只是一种理想的随机数,即使计算机怎样发展,它也不会产生一串绝对随机的随机数。计算机只能生成相对的随机数,即伪随机数。 伪随机数并不是假随机数,这里的“伪”是有规律的意思,就是计算机产生的伪随机数既是随机的又是有规律的。怎样理解呢?产生的伪随机数有时遵守一定的规律,有时不遵守任何规律;伪随转载 2018-04-12 19:43:48 · 7592 阅读 · 1 评论 -
PHP Warning: Redis::connect(): connect() failed: Permission denied in xxxx
今天在centos6.9上搭建了LNMP环境,然后运行项目遇到如下错误:PHP Warning: Redis::connect(): connect() failed: Permission denied in xxx解决如下/usr/sbin/setsebool httpd_can_network_connect=1看到stackoverflow这样解释,原文地址: ...原创 2018-06-28 00:54:19 · 5317 阅读 · 0 评论 -
PHPStorm Mac版快捷键
高级编辑快捷键 说明 ⌘/ 注释/取消注释当前行或选中区域行 ⌥⌘/ 注释/取消注释代码块 F1 弹窗显示PHPDoc或JSDoc F1 显示表数据 ⌥⇧⌘H 配置当前文件的错误标识等级 ⌘P 在光标位置显示函数参数说明 ⌃⇧Q 显示上下文信息 ⌘F1 在光标位置显示错误信息 ⇧F1 在浏览器中打开选中区域的PHP文档 ⌃O 在当前类中重写基类方法 ⌥⌘T 使用if,do...转载 2018-08-22 18:48:15 · 2337 阅读 · 0 评论 -
Could not connect: Can't connect to MySQL server on '127.0.0.1' (13)
问题今天Linux+Nginx+Mysql+PHP+Redis服务器重启过后遇到一个问题:Could not connect: Can't connect to MySQL server on '127.0.0.1' (13)。在排除mysql成功启动,并且可以访问的时候。不知所措,最后在阿里云的一篇文章中看到了如下解决方法:getsebool -a | grep httpd#发现...原创 2018-09-07 16:28:30 · 1901 阅读 · 0 评论 -
PHP的时间
一、 Unix时间戳Unix时间戳是在计算机领域才有的,每一台电脑(服务器)在生产的时候,将GMT/UTC的1970年01月01日00时00分00秒作为起始值进行计算,得到的总秒数就是这个Unix时间戳。至于是GMT还是UTC意义并不大,因为GMT和UTC的1970年01月01日00时00分00秒是一致的,起点一致的情况下,运行的秒数也是一致的。 //获取时间戳 time();二、 时区...转载 2018-09-20 09:23:54 · 1503 阅读 · 0 评论 -
Laravel 单元测试 Command
Laravel 单元测试 Command前言想单元测试一下自己写的Command。发现文档好像没有关于任务调度的单元测试。参考了一些资料,实现了Command的单元测试。相关的类1. Composer\Console\Application2. Symfony\Component\Console\Tester\CommandTester详细代码 // 实例化Applicat...原创 2018-09-29 18:56:52 · 922 阅读 · 0 评论 -
PHP的“坑”
一、 in_array(0, [‘a’, ‘b’, ‘c’])返回truein_array(0, ['a', 'b', 'c']) // 返回bool(true),也就相当于数组中有0array_search(0, ['a', 'b', 'c']) // 返回int(0),也就是第一个值的下标0 == 'abc' // 返回boo...原创 2018-11-08 15:53:10 · 271 阅读 · 0 评论 -
微信公众号开发(一)--公众号关注推送
用户关注公众号回调参考资料微信公众平台微信公众号开发文档基本信息AppID:开发者ID,微信公众号的唯一标识AppSecret:开发者密码,操作微信公众号的验证IP白名单:获取access_token时,需要IP白名单才可以获取OpenID:微信用户在当前公众号的唯一标识UnionID:微信用户在当前开放平台账号的所有公众号和应用情景下的唯一标识服务器配置: (1)地址:配置以后原创 2017-12-13 21:02:47 · 20895 阅读 · 0 评论 -
Thinkphp5之上传文件命名重复
问题:在使用thinkphp5的File类默认date的命名规则,上传多张图片导致命名重复覆盖上传文件的问题。下面是thinkphp5的原代码:case 'date': $savename = date('Ymd') . DS . md5(microtime(true));错误结果 /tmp/phpDZ9Dol 20171009/064964d9595bb3d6895f7388原创 2017-10-09 17:36:48 · 2008 阅读 · 2 评论 -
PHP之保存高德地图的城市数据
摘要: 因为最近做的项目都需要用到选取城市的功能,然后集成的都是高德地图,所以就把高德地图(中国范围)的城市数据保存在数据库。 采用的是高德地图的API,进行数据的获取,然后通过TP5框架的命令行进行对数据的封装保存至MYSQL。 高德地图省市县数据库下载链接 高德地图开放平台: 首先去高德地图申请key,阅读相应的官方文档: 以上就可以查看各省市的数据了。原创 2017-06-10 16:43:00 · 1914 阅读 · 0 评论 -
PHP之一维数组、二维数组排序
PHP自带的数组函数sort() - 以升序对数组排序rsort() - 以降序对数组排序asort() - 根据值,以升序对关联数组进行排序ksort() - 根据键,以升序对关联数组进行排序arsort() - 根据值,以降序对关联数组进行排序krsort() - 根据键,以降序对关联数组进行排序usort() - 根据值,用户自定义函数进行排序uksort() - 根据键,用户原创 2017-07-13 16:19:04 · 383 阅读 · 0 评论 -
file_get_content警告Unable to find the wrapper "https"
错误描述:file_get_content获取https链接的内容的时候报以下警告Warning: fopen() [function.fopen]: Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?处理方法:安装openssl扩展即可解决!windows下直接修改php原创 2017-06-26 11:22:55 · 567 阅读 · 0 评论 -
PHP之路径
前言最近有朋友问我有关路径的问题,说本地运行好好的,上传到服务器上,web网站里面的资源文件路径全错了。主要问题是配置域名的路径改变了,所以出现错误。相对路径和绝对路径的区别web:以 / 开头的就是绝对路径,其它都是相对路径(和)php:和操作系统有关 linux操作系统:以 / 开头的就是绝对路径,其它都是相对路径windows操作系统:以 盘符(C:) 开头的就是绝对路径,其它都是相对原创 2017-06-27 22:26:25 · 421 阅读 · 0 评论 -
phpize动态编译报错Cannot find autoconf
报错内容:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.原因:因为autoconf 依赖于m4,所以会自动下载解决这个依赖关系.解决如下: wget h...原创 2017-07-18 15:18:05 · 539 阅读 · 0 评论 -
centos php7安装redis扩展
// 1. 下载php-redis扩展git clone https://github.com/phpredis/phpredis.git// 2. phpize来生成configure配置文件cd phpredis/usr/local/php/bin/phpize// 3. 配置./configure --with-php-config=/usr/local/php/bin/php-con原创 2017-07-18 15:13:52 · 671 阅读 · 0 评论 -
CentOS PHP5安装pdo_mysql,openssl,curl扩展
LNMP环境这篇文章是CentOs安装LNMP环境安装1.切换php解压的ext目录cd /usr/local/src/php-5.6.2ext2.安装pdo_mysql扩展cd pdo_mysql/usr/local/php5/bin/phpize #运行./configure --with-php-config=/usr/local/php4/bin/php-config --with-pd原创 2017-07-06 19:41:13 · 1631 阅读 · 0 评论 -
Ubuntu14.04的LNMP安装(TP5框架)
apt-get更新$ sudo apt-get update$ sudo apt-get upgrade安装nginx$ sudo apt-get install nginx测试:访问IP配置文件:/etc/ngingx/conf安装MYSQL$ sudo apt-get install mysql-server php5-mysql设置可其它ip登录/etc/mysql/my.conf bind原创 2017-03-17 13:53:24 · 776 阅读 · 0 评论 -
PHP合并数组及去重
本文介绍的是一维数组的去重合并数组的方法array_merge:数字键,直接往后添加,key重置字符串键,后面的数组的值会替代前面的值+:数字键,后面的数组的值不会替代前面的值字符串键,后面的数组的值会替代前面的值合并数组并去重//1.单数组去重复 array_unique($arrTest)//2.多数组去重复 array_keys(array_flip($arr1)+原创 2017-08-07 20:22:17 · 46314 阅读 · 0 评论 -
编译PHP报错:make: *** [ext/fileinfo/libmagic/apprentice.lo]
当配置PHP时出现 make: * [ext/fileinfo/libmagic/apprentice.lo] Error 1 时是因为服务器内存不足1G。只需要在配置命令中添加 –disable-fileinfo即可转载 2017-08-02 23:00:30 · 2480 阅读 · 0 评论 -
CentOS6.8搭建LNMP环境
Linux选择的是阿里云的服务器,系统版本是CentOS 6.8。先在安全组里面设置相应安全组规则。如80,3306端口。一、安装Nginx安装相关依赖# gcc: yum install gcc-c++#PCRE: yum install -y pcre pcre-devel#zlib: yum install -y zlib zlib-devel#OpenSSL:原创 2017-07-03 15:32:35 · 1213 阅读 · 0 评论 -
CentOS php5安装Redis以及php-redis扩展
CentOS下安装LNMP环境这篇文章是介绍安装LNMP环境安装Redis下载安装#切换目录cd /usr/local/src#下载Rediswget http://download.redis.io/redis-stable.tar.gz#解压tar -zxvf redis-stable.tar.gz#进入解压目录cd redis-stable#编译、安装 (有错误的话,根据提示安装相原创 2017-07-03 17:54:16 · 2268 阅读 · 0 评论 -
PHP之安装ssh2扩展
安装ssh2扩展wget http://www.libssh2.org/download/libssh2-1.4.2.tar.gztar -zxvf libssh2-1.4.2.tar.gzcd libssh2-1.4.2./configure --prefix=/usr/local/libssh2make && make installwget http://pecl.php.net/g原创 2017-08-31 17:16:04 · 872 阅读 · 0 评论 -
解决lnmp环境浏览器访问.php文件页面空白
一、原因: 原因是nginx无法正确的将 *.php 文件的地址传递给php-fpm去解析, 相当于php-fpm接受到了请求,但这请求却指向一个不存在的文件,于是返回空结果二、解决 修改fastcgi_params vim /etc/nginx/fastcgi_params 添加以下参数:fastcgi_param SCRIPT_FILENAME $document_root...原创 2018-12-02 21:28:49 · 2957 阅读 · 0 评论