PHP
文章平均质量分 51
Marhal
你想知道什么,我就不告诉什么。
展开
-
PHP学习(二)PHP7的执行原理和内核架构
(PHP学习二)PHP7的执行原理一、理论概念二、代码说明1. Token2.AST(抽象语法树)一、理论概念首先进行词法分析,将源代码切割为多个字符串单元,分割后的字符串称为Token。该步骤的词法分析器使用Re2c实现。由于Token无法表达完整语义,故需要基于语法分析器将Token和符合文法规则的代码生成抽象语法树(也就是上一届最后说的 AST)。语法分析器基于Bison(一种通用解析器生成器)实现,使用了链接: BNF(Backus-NaurForm 巴克斯范式).来表达文法规则,Bis原创 2020-05-27 22:46:45 · 253 阅读 · 0 评论 -
【PHP学习(一)】PHP7 新特性
【PHP学习(一)】PHP7 新特性1.太空船操作符 <=>2.类型声明3.null合并操作符4.常量数组5. namespace 的批量导入6.throwable接口7. Closure::call8. intdiv()9. list 的方括号写法10.抽象语法树(AST)1.太空船操作符 <=>左边值小于等于大于右边值时,分别返回-1、0、1echo 1 <=> 1# 0echo 1 <=> 2# -1echo 2 <=> 1#原创 2020-05-26 21:59:44 · 478 阅读 · 0 评论 -
LaravelAdmin的安装使用
# 安装laravelcomposer create-project --prefer-dist laravel/laravel laraveladmin "6.*"cd laraveladmin # 更改权限sudo chown -R www-data:www-data storage/sudo chown -R www-data:www-data bootstrap/# 更改数据库配置vim .envDB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_.原创 2020-05-22 18:19:48 · 304 阅读 · 0 评论 -
PHP+RabbitMQ+Swoole实现简单的消息推送
消费者comsumer.php<?php/** * 消费者 */$workerNum = 4;$pool = new Swoole\Process\Pool($workerNum);//绑定一个事件$pool->on("WorkerStart", function ($pool, $workerId) { echo "Worker#{$workerId}...原创 2020-04-29 20:43:33 · 4351 阅读 · 0 评论 -
ubuntu环境搭建【开发备用】
sudo apt install phpsudo apt install php-fpm php-curl php-gd php-xml php-mbstring php-dev php-zipphp-amqpsudo apt intstall php-redis注:在Ubuntu20.04 php7.4 时报错,使用 pecl install redis 一路回车 然后编辑ph...原创 2020-04-05 12:40:25 · 327 阅读 · 1 评论 -
jquery-weui + thinkphp 上拉加载
javascript代码段<script src="__JS__/jquery/jquery-1.9.1.min.js?version={$version}"></script><script src="__PUBLIC__/Js/jquery-weui.min.js"></script><script src="__JS__/jq...原创 2017-08-12 17:47:00 · 497 阅读 · 0 评论 -
KindEditor 自定义图片上传路径2
出于安全性考虑,在某些特定情况下,所有的可执行php文件都需要有一定的访问权限。但是编辑器就不一样了,没有办法设置全选啊。那么我就抛开自带的上传文件,自己写个方法呗。在原有的编辑器目录,有upload_json.php这个文件。果断舍弃。在页面初始化编辑器配置时,加一行代码。$(document).ready(function(){ var editor; ...原创 2017-07-18 16:05:00 · 721 阅读 · 0 评论 -
php通过网页图片地址将图片保存到本地
返回图片保存路径可选择根据需要保存到数据库 public functionsavePhoto($url){ set_time_limit(0);//抓取不受时间限制 $url=str_replace('&','&',$url); $curl=curl_init(); curl_setopt($cur...原创 2017-07-02 02:00:00 · 1534 阅读 · 0 评论 -
THinkPHP5.0 获取省市区三级名称
public functionaddress(){/*注意:修改里面内容的时候,需要将缓存清空Cache::rm('area');*/$_province=Cache::get('area');if(empty($_province)) {$province= db('area')->where(array('pid'=>'0'))->fie...原创 2017-07-02 01:58:00 · 679 阅读 · 1 评论 -
ubuntu18 安装 phpmyadmin
环境:ubuntu18.04+php7.2+apache2.4sudo apt-get install phpmyadmin选择服务器 为 apache设定phpmyadmin的密码再次确认密码安装完成sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin地址栏输入localhost:80/phpmya...原创 2019-08-21 16:18:41 · 246 阅读 · 0 评论 -
PHP常用函数总结
PHP常用函数总结(180多个)数学函数1.abs(): 求绝对值$abs = abs(-4.2); //4.2 数字绝对值数字2.ceil(): 进一法取整echo ceil(9.999); // 10 浮点数进一取整3.floor(): 舍去法取整 echo floor(9.999); // 9 浮点数直接舍去小数部分4.fmod(): 浮点数取余 ...原创 2017-08-12 21:38:00 · 216 阅读 · 0 评论 -
ThinkPHP3.2 实现阿里云OSS上传文件
0、配置文件Config,加入OSS配置选项,设置php.ini最大上传大小(自行解决,这里不做演示)'OSS' => array( 'ACCESS_KEY_ID' => '**************', //从OSS获得的AccessKeyId 'ACCESS_KEY_SECRET' => '**************', //从OSS...原创 2018-03-29 19:28:00 · 2542 阅读 · 0 评论 -
ThinkPHP5.0+APP+支付宝支付 服务端开发
工作环境,支付宝账号是公司的,app应用和秘钥配置都是我自己申请的,这其中的流程暂且跳过。一、准备工作appid、应用私钥、应用公钥、支付宝公钥二、配置文件'alipay'=>[ 'appId' => '20180300000000', 'gatewayUrl' => 'https://ope...原创 2019-05-09 12:00:21 · 979 阅读 · 0 评论 -
lnmp 的swoole安装以及部分问题解决
服务器环境:ubuntu+nginx+php7.01.安装nghttp2库:sudo apt-get install nghttp2或者sudo wget https://github.com/nghttp2/nghttp2/releases/download/v1.30.0/nghttp2-1.30.0.tar.bz2 sudo tar -jxvf nghttp2-1....原创 2018-11-29 12:07:00 · 308 阅读 · 0 评论 -
php修改配置文件(ThinkPHP5.0)
在实际项目中,有的配置为动态变化,然而设计数据库会很麻烦效率又低,所以可以直接在配置文件中做考虑了。框架:ThinkPHP5.0框架默认配置文件目录为applocation/extra,在这里可以自定义配置文件。/** * 修改扩展配置文件 * @param array $arr 需要更新或添加的配置 * @param string $file 配置文件名(不需要后辍) ...原创 2019-03-05 10:36:00 · 1275 阅读 · 0 评论 -
jQuery+ThinkPHP5.0 无插件上传图片
PHP代码上传至阿里云OSS(只是做demo演示,服务端没有做文件类型大小等判断,请开发者自行添加)原创 2019-03-01 16:03:00 · 514 阅读 · 0 评论 -
ubuntu LNMP nginx 隐藏index.php 配置文件
创建/编辑配置文件#(自己设置虚拟主机的配置文件)vi /etc/nginx/site-available/www.myredis.local.comserver { listen 80; root /var/www/html/tp3; index index.html index.htm index.php; server_name www.myredis.loca...原创 2018-08-08 17:22:00 · 199 阅读 · 0 评论 -
php+redis 实现订单超时未支付时取消订单
需要用到redis的订阅功能vi /etc/redis/redis.confnotify-keyspace-events “Ex”。#x 代表了过期事件。重启redis服务service redis restart创建四个文件index.php 创建订单,发布消息,10s后查询订单状态并更新订单<?phprequire_once 'Re...原创 2018-08-08 17:11:00 · 3343 阅读 · 0 评论 -
ubuntu16.04 phpredis
# 下载git 以及PHP扩展apt-get install git php-dev# 下载phpredisgit clone https://github.com/nicolasff/phpredis.git#进行编译cd phpredis/phpize./configuremake && make install#编辑配置文件vi /etc...原创 2018-08-07 12:03:00 · 253 阅读 · 0 评论 -
ubuntu16.04 LNMP环境搭建以及卸载
下载nginx 1.10.3apt-get install nginx下载mysql-server 5.7.23apt-get install mysql-server下载php 7.0.30apt-get install php##########################################################在ubuntu1...原创 2018-08-06 19:56:00 · 347 阅读 · 0 评论 -
Laravel 安装执行php artisan migrate 出现字段过长错误
最近在自己研究LaravelLaravel版本:5.6PHP版本:7.1.9Mysql版本:5.7.19Apache版本:2.4.27系统版本:windows10首先要保证电脑安装了composer,和node.js执行命令composer global require "laravel/installer"打开控制台 ,进入你要创建的目录,安装项目(test...原创 2018-06-21 16:01:00 · 1333 阅读 · 1 评论 -
ThinkPHP5.0接入阿里大鱼短信平台
一、在阿里云控制台开通短信服务,添加模板和签名并审核通过获取模板id和签名,还要创建accessKeyId和accessKeySecret,具体流程不做介绍。二、下载官方的 php SDK包http://ytx-sdk.oss-cn-shanghai.aliyuncs.com/dysms_php.zip?spm=a2c4g.11186623.2.4.nEU4Kn&file=dysms_...原创 2018-04-03 09:52:00 · 594 阅读 · 0 评论 -
PHP设置git钩子文件自动部署代码至WEB服务(nginx)
vi /etc/sudoersNOTICE:以下环境仅适用于测试服务器,基于安全性考虑,请勿在正式服务器和开发环境使用。前置条件Git库:阿里云codenginx/php-fpm 所属组和用户 :nginxuser服务器:LNMP1.给nginxuser 设置sudo权限root@ms:vi souders#添加 nginxuser ALL=(ALL:AL...原创 2019-01-08 11:36:00 · 780 阅读 · 0 评论