-
[视频教程] docker端口映射与目录共享运行PHP
所属栏目:[大数据] 日期:2021-05-21 热度:156
当我们在容器中安装完环境以后,需要在宿主机的端口上访问到容器中的端口,这时候就需要做端口映射。在开发代码的时候,需要频繁的修改代码,因此要把宿主机上的代码目录共享到容器中,这样容器里面就能访问的到代码了。 之前运行镜像的时候,没有做端口映射[详细]
-
[PHP] 持续交付Jenkins安装
所属栏目:[大数据] 日期:2021-05-21 热度:180
1.下载并运行 Jenkins 下载 Jenkins. http://mirrors.jenkins.io/war-stable/latest/jenkins.war 打开终端进入到下载目录. 运行命令 java -jar jenkins.war --httpPort=8080. 打开浏览器进入链接 http://localhost:8080. 按照说明完成安装. ? ?安装完推荐的[详细]
-
[视频教程] 使用composer安装使用thinkphp6.0框架
所属栏目:[大数据] 日期:2021-05-21 热度:174
安装composer -vvv的参数是表示展示安装进度,测试时使用其他参数安装失败,一直卡着不动 curl -vvv https://getcomposer.org/installer | PHP mv composer.phar /usr/local/bin/composer 先安装下git,才能clone下github上的代码 apt-get install git 在创[详细]
-
[PHP] 项目实践中的自动加载实现
所属栏目:[大数据] 日期:2021-05-21 热度:121
1.使用spl_autoload_register函数注册一个自己定义的自动加载函数 2.当在代码中new一个不存在的类的时候,上面的函数会被调用,不存在的类名会被作为参数传入该函数中 3.兼容了两种方式,命名空间对应目录的方式 apptest,类名下划线分割对应目录的方式app_tes[详细]
-
[Linux] 编写Dockerfile文件自动构建镜像
所属栏目:[大数据] 日期:2021-05-21 热度:139
Dockerfile是一个文本文件,按顺序包含构建给定镜像所需的所有命令 Docker通过读取Dockerfile中的指令自动构建图像 。 Dockerfile遵循特定的格式和指令集,您可以在Dockerfile引用中找到它们。 Docker镜像由只读层组成,每个层都代表一个Dockerfile指令。这[详细]
-
[PHP] 运维新增服务器导致的附件上传失败问题
所属栏目:[大数据] 日期:2021-05-21 热度:170
现象:客服反馈webmail发信上传附件时,报错提示上传失败,发信时提示发送失败 前因:运维同事新增加了三台服务器 1.服务器上有一个挂载的公共目录,该目录是存储的上传后的附件文件.该路径是通过一个软链接链接过去的,在新增加的机器上,没有这个软链接,因此就找[详细]
-
[PHP] 现代化PHP之路:composer的安装和升级
所属栏目:[大数据] 日期:2021-05-21 热度:76
1.下载一个脚本文件 wget https://getcomposer.org/installer ? 2.PHP执行下这个PHP脚本 PHP installer?? ? 3.把下载的文件转移到一个PATH环境变量中存在的目录路径下,可以使用echo $PATH;命令查看PATH环境变量值 mv composer.phar /usr/bin/composer ? 4.[详细]
-
[PHP] 存储改造中的逻辑和清理遗留的问题
所属栏目:[大数据] 日期:2021-05-21 热度:90
现象:用户读信时,根据路径的哈希结果,访问四台服务器中一台请求文件,这四台缓存机器已经下线,访问不到再去后端存储访问浪费了时间 前因:每一封信都是一个文件,存储在公司内部的分布式文件系统s3上.因为读取速度太慢和经常的网络访问失败,后来在s3系统之上新[详细]
-
[PHP] 内部接口简单加密验证方式
所属栏目:[大数据] 日期:2021-05-21 热度:98
1. 当有内部系统之间进行调用的时候,也需要简单的进行一下调用方的验证,一种简单的内部接口加密验证方式.此加密方式需要三个参数,分别是api地址,pin码,entry标识,其中pin和entry是接口双方约定的两个参数. 举例说明: service_api="/1/service" pin="6879hsdh[详细]
-
[视频教程] 最新版swoole安装和TASKS功能测试
所属栏目:[大数据] 日期:2021-05-21 热度:87
今天我们来安装和测试一下PHP的多并发高性能网络通信扩展,这个扩展是使用C语音开发的,加载到PHP以后,在PHP的层面上实现了多并发异步通信,模拟了go语音的很多特性,极大的拓宽了PHP的应用场景。 直接使用官网上的那句命令就可以,安装swoole时可能会出现[详细]
-
[PHP] 深度解析Nginx下的PHP框架路由实现
所属栏目:[大数据] 日期:2021-05-21 热度:109
所有的框架处理业务请求时,都会处理URL的路径部分,分配到指定的代码中去处理。 实现这一功能的关键就是获取$_SERVER全局变量中对于URL部分的数据 当请求的路径为 http://test.com/article?id=1 http://test.com/article/update?id=1 支持以上url模式,不需[详细]
-
[PHP] 项目实践中使用的IOC容器思想
所属栏目:[大数据] 日期:2021-05-21 热度:71
1.容器的意思就是一个全局变量,里面存了很多对象,如果要用到某个对象就从里面取,前提就是要先把对象放进去 2.控制反转就是把自己的控制权交给别人 3.这两个结合就是,把自己的控制权交给别人并且创建的对象放进一个全局变量里 4.好处就是可以灵活的修改一个对[详细]
-
某业务付费统计脚本问题排查
所属栏目:[大数据] 日期:2021-05-21 热度:139
现象:产品反馈未收到每周五的VIP邮箱付费统计邮件 1. 这个统计脚本我从未经手过,因此不知道逻辑是什么,也不知道代码在哪里.通过查看邮件源文件中的来源IP,找到了发出邮件所在的服务器,信头中有类似这样的来源IP X-Originating-IP: [xx.xx.xx.86] 2.登陆服务[详细]
-
[视频教程] 配置mysql用户的权限并查询数据
所属栏目:[大数据] 日期:2021-05-21 热度:166
MysqL安装后,需要允许外部IP访问数据库。修改加密配置与增加新用户,配置用户权限 修改配置文件,增加默认加密方式的配置项。 当连接数据库的时候会报验证方法不存在的错误,这是因为新版本MysqL的加密规则有变化,所以连不上数据库,具体可以看官网文档。[详细]
-
[PHP] pow指数运算函数与二进制
所属栏目:[大数据] 日期:2021-05-21 热度:150
1.a的-2次方=(a分之一)的2次方 2.-a的2次方 3次方 按照这个规则,负负得正,负正得负,正正得正,指数是偶数最终结果是正的,是奇数就是负的 3.二进制转换十进制,0b开头是二进制 ?PHP$a=pow(2,0);//int(1)$b=pow(-2,2);//int(4)$d=pow(-2,3);//int(-8)$c=pow(2,-2[详细]
-
[PHP] strpos stripos strrpos strripos的区别
所属栏目:[大数据] 日期:2021-05-21 热度:181
stripos — 查找字符串首次出现的位置(不区分大小写),应使用 === 运算符来测试此函数的返回值 strpos 左边开始字符出现的第一个位置,区分大小写 stripos 和上面一样,不区分大小写 strrpos 左边开始字符出现的最后一次的位置,区分大小写 strripos 和上面一[详细]
-
[PHP] ubuntu下使用uuid扩展获取uuid
所属栏目:[大数据] 日期:2021-05-21 热度:155
? 1.PHP生成uuid网上大部分是使用随机数md5截取的,很有可能会重复冲突 2.uuid的组成中最重要的一个是机器码,大部分是网卡MAC地址,PHP无法获取到机器码,因此不能直接使用代码来生成一个uuid 3.安装扩展可以做到,先安装uuid 和uuid-dev apt-get install uuid*[详细]
-
[PHP]MySQL的wait_timeout与pdo对象
所属栏目:[大数据] 日期:2021-05-21 热度:101
1.查看和设置MysqL的wait_timeout的值 SHOW GLOBAL VARIABLES LIKE '%timeout%'; 设置wait_timeout的值 SET GLOBAL wait_timeout=10; 2.当程序中有超过10秒的执行后,再次去执行一条sql语句,就会报错 Warning: Error while sending QUERY packet 或者?MysqL s[详细]
-
[PHP]引用返回与节省内存
所属栏目:[大数据] 日期:2021-05-21 热度:85
PHP中的引用是什么: 1.在 PHP 中引用意味着用不同的名字访问同一个变量内容 2.引用可以被看作是 Unix 文件系统中的硬链接。 3.使用unset的话,只是删除他这个名字自身对内容的引用,并没有删除内容本身 PHP $a="test";$b=$a;unset($a);var_dump($b); string(4)[详细]
-
[PHP] try catch在日常中的使用
所属栏目:[大数据] 日期:2021-05-21 热度:50
1.try catch可以捕获上一层throw的异常 2.finally是不管try或者catch任何一块有return,最终都会执行的块 3.try也是可以捕获到call_user_func_array回调函数类内部的throw的异常 4.call_user_func_array只能回调类的静态方法,可以在这个静态方法中进行new对象[详细]
-
[PHP] 按位与& 或| 异或^ 的日常使用
所属栏目:[大数据] 日期:2021-05-21 热度:126
按位与: 00=0; 01=0; 10=0; 11=1; 按位或: 0|0=0; 0|1=1; 1|0=1; 1|1=1; 按位异或,在或的基础上1 1也为0: 0^0=0; 0^1=1; 1^0=1; 1^1=0; 1.一个int型字段,存储十进制的数字,比如说是5 那么该数字转成二进制是101,我自己定义从左往右数, 第一位1,代表某[详细]
-
[PHP] sys_get_temp_dir()和tempnam()函数报错与环境变量的配置
所属栏目:[大数据] 日期:2021-05-21 热度:176
1.项目运行过程中遇到个问题,保存临时文件时,一直返回false 2.根据经验这个是在/tmp目录下建立临时文件,所以检查了一遍权限问题,发现权限没有问题 3.查出sys_get_temp_dir()这个返回的目录是/data1/PHPtmp 4.grep了一遍PHP-fpm的配置文件,找到这个位置? /etc[详细]
-
[PHP] 最简单的权限控制设计
所属栏目:[大数据] 日期:2021-05-21 热度:131
假设url部分我们只有action和method,某个控制器下的某个方法,比如:log/loginlog? ?查看日志下的登陆日志,action就是log,method就是loginlog 1.设置一个菜单数组 $menuMap = array('entmanager' = array( 'name' = '企业管理','submenu' = array( 'entlist' =[详细]
-
[PHP] 三种运行模式 ISAPI模式 APACHE2HANDLER模式 CGI模式 Fas
所属栏目:[大数据] 日期:2021-05-21 热度:151
ISAPI模式:ISAPI是微软提供的一套标准,PHP的ISAPI模式意思是PHP在windows系统上的IIS进行配合的运行模式,在PHP5.3之后不再支持,PHP5isapi.dll文件, PHP进程和IIS进程合一块 APACHE2HANDLER模式:PHP作为Apache的模块, PHP进程和Apache进程合一块 CGI模式:CGI[详细]
-
[PHP] 使用ftell和fseek函数直接定位文件位置获取部分数据
所属栏目:[大数据] 日期:2021-05-21 热度:97
? 对于大文件只获取部分数据很有用 1.使用ftell函数可以获取当前指针的字节位置 2.使用fseek函数可以直接定位到指定的位置 3.读取指定字节的数据就可以部分获取文件内容了 ? PHP class FileStream{ private $fp = null ; $mode = 'r' $context = $readonly =[详细]