PHP
我不是稻草人
有12年WEB后台项目开发,7年DBA,7年运维经验,领导开发过大量WEB网站及ERP应用,擅长方向为PHP开发,Mysql优化及Linux运维。
展开
-
各语言操作RabbitMQ(C#)
C#:消费: var factoryGet = new ConnectionFactory(); factoryGet.HostName = "127.0.0.1"; factoryGet.UserName = "guest"; factoryGet.Password = "guest"; var connectionGet = factoryGet.CreateConnection...原创 2020-09-17 21:23:27 · 189 阅读 · 0 评论 -
canal用法
安装按官方文档就行然后用php消费canal,要注意的是:用的是xingwenge\canal_php$client->subscribe("1001", "example", "test.test"); //这个test.test要和canal里的表过滤配置一样原创 2020-08-15 16:05:10 · 326 阅读 · 0 评论 -
elasticsearch php 批量更新
$client = ClientBuilder::create()->build();$list = $db->execute("select * from user limit 100");if(!$list){ echo "完成"; break;}$params['body'] = array();foreach($list as $info){ $params['body'][] = array( 'index' => arr.原创 2020-08-13 16:57:08 · 915 阅读 · 0 评论 -
PHP写代码三层分层
第一层:直面用户层,直接用function展示流程 比如function addUser(){check(),add(),response()}第二层:路由转接层,如上面的check(){User::checkUserName();} add(){Db::insert()}第三层:逻辑实现层,如上面的checkUserName(){this.username>1} insert(mysql_query('insert 1'))...原创 2020-10-08 11:39:21 · 623 阅读 · 0 评论 -
Doctrine 核心function
EntityManager:entity的工厂类原创 2020-05-18 14:24:13 · 207 阅读 · 0 评论 -
php项目下github配合coveralls展示代码
本文以php为例1、在coveralls用github登陆,授权github库2、根目录下新建文件.coveralls.yml内容如下:coverage_clover: tests/code_coverage/clover.xmljson_path: tests/code_coverage/coveralls-upload.jsonservice_name: travis-ci...原创 2020-03-09 15:35:25 · 269 阅读 · 0 评论 -
composer上建立稳定版本及加上travis自动测试
1、gitbub上发布2、github上打tag(这点很重要,不然composer版本号会有问题) git tag -a v1.0 -m 'version 1.0' git push origin --tags3、在https://packagist.org/用github登陆后 提交包就可以了...原创 2020-02-28 23:59:06 · 202 阅读 · 0 评论 -
php源码探索四:php扩展源码分析
1、最重要的entry:比如exif里的:zend_module_entry exif_module_entrystruct_zend_module_entry{unsignedshortsize;unsignedintzend_api;unsignedcharzend_debug;unsignedcharzts;...原创 2020-01-19 16:29:24 · 441 阅读 · 0 评论 -
php源码探索三:php源码里的常用断点
gdb里用b打断点,关键字对应php的如下:ZEND_ECHO_SPEC_CV_HANDLER:echo原创 2020-01-19 16:29:16 · 209 阅读 · 0 评论 -
php源码探索二:gdb的用法
用gdb开启php测试:gdb /usr/local/php7/bin/php进入gdb模式。gdb用法如下:运行run:简记为 r ,其作用是运行程序,当遇到断点后,程序会在断点处停止运行,等待用户输入下一步的命令。continue (简写c ):继续执行,到下一个断点处(或运行结束)next:(简写 n),单步跟踪程序,当遇到函数调用时,也不进入此函数体;此命令同 step...原创 2020-01-19 16:28:38 · 251 阅读 · 0 评论 -
php源码探索一:搭建环境及php源码目录结构
探索以php7.4.1为例:yum install -y wget && wget https://www.php.net/distributions/php-7.4.1.tar.xztar xvf php-7.4.1.tar.xzyum install gccyum install -y libxml2-develyum install -y sqlite-d...原创 2020-01-19 16:28:55 · 454 阅读 · 0 评论 -
php mysql mysqli php7性能测试
测试命令为:ab -c 10 -n 300 http://192.168.6.170/order/1.php结果是:php5.4 mysql:[root@localhost www]# ab -c 10 -n 300 http://192.168.6.170/order/1.php This is ApacheBench, Version 2.3原创 2017-06-06 20:39:32 · 860 阅读 · 0 评论 -
php操作redis群集开源工具
predis用法和下载:https://github.com/nrk/predis原创 2017-03-17 11:50:50 · 216 阅读 · 0 评论 -
php nts ts 版本区分
搜索phpinfo Thread Safety (enable 是ts disable 是nts)原创 2017-01-19 12:19:31 · 793 阅读 · 0 评论 -
strace定位故障原因
有时候发现php CPU高可以通过如下方法来查找比如pid是612strace -c -p 612运行一会儿后,停止,可以看到:shell> strace -c -p 612% time seconds usecs/call calls errors syscall------ ----------- ----------- ------原创 2017-02-04 17:06:56 · 255 阅读 · 0 评论 -
php安装mongodb组件
pecl install mongodb;原创 2016-11-08 20:07:56 · 237 阅读 · 0 评论 -
centos7 安装php7及memcashe
git clone https://github.com/php-memcached-dev/php-memcached.gitcd php-memcached/yum install php70w php70w-devel php70w-bcmath php70w-fpm php70w-mbstring php70w-pdo php70w-soap php70w-mysql php70w原创 2016-09-13 09:46:39 · 509 阅读 · 0 评论 -
PHPStrom的字体配置
字体是Source Code Pro字体大小是16 行距1.2原创 2016-08-26 22:22:12 · 439 阅读 · 0 评论 -
php的Master Value不起作用
1、php里的配置,不光要看php.ini 可能还有在/etc/httpd/conf.d/php.conf里的文件2、phpinfo里的Local Value才起作用,Master Value不起作用原创 2016-09-16 00:29:23 · 913 阅读 · 0 评论 -
php共享session
我这里用memcache来做共享(php要装memchche组件)php.ini里设置session.save_handler = memcachedsession.save_path = "tcp://192.168.6.212:11211"原创 2016-09-15 14:49:20 · 376 阅读 · 0 评论 -
Jenkins Jobs for PHP 安装
原来在这里:http://jenkins-php.orgyum install java -yyum install -y wgetwget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.reporpm --import https://jenkins-ci.org/redhat/原创 2018-01-09 13:24:21 · 183 阅读 · 0 评论 -
所有php版本
http://de2.php.net/distributions/php-5.2.2.tar.bz2原创 2016-04-28 09:15:14 · 247 阅读 · 0 评论 -
php5.4升级到php7
在一个新的环境里先安装php7,然后把原来的代码放过去。测试下系统目前碰到的问题有1、mongodb在php7里不一样的调用方式2、mysql升级后,有些参数要变原创 2017-06-06 20:22:09 · 3336 阅读 · 0 评论 -
命令行里执行php涉及到的路径问题
$cur_dir = dirname(__FILE__);chdir($cur_dir);require('../class/info.php');这样就完美解决了原创 2017-06-04 01:18:16 · 862 阅读 · 0 评论 -
根据IP查找地址
function detect_city($ip) { $default = 'UNKNOWN'; if (!is_string($ip) || strlen($ip) < 1 || $ip == '127.0.0.1' || $ip == 'localhost') $ip = '8.8.8.8';转载 2012-10-27 10:13:49 · 398 阅读 · 0 评论 -
PHPStorm 加上phpcs检查
先安装phpcs:1、windows先安装composer工具2、然后在cmd执行:composer global require "squizlabs/php_codesniffer=*"3、把安装好的composer目录下的vendor下的bin里的phpcs.bat路径复制出来打开phpstorm:Settins>Languages & Frameworks...原创 2020-05-18 14:27:20 · 167 阅读 · 0 评论 -
一次性中止PHP进程
ps aux | grep test.php | grep -v grep | awk '{print $2}' | xargs kill -SIGINT原创 2018-04-11 12:07:23 · 432 阅读 · 0 评论 -
PHP大数组分组执行
$item_list_key = $argv[1];$per_num = $argv[2];$all_num_list = count( $list );$total_fengzu_num = ceil( $all_num_list / $per_num );$list = array_chunk( $list, $total_fengzu_num );foreach原创 2017-10-24 18:38:16 · 513 阅读 · 0 评论 -
PHP读取大excel文件
这里用的是python来做中转python代码为:# -*- coding: utf-8 -*-import sysimport xlrdimport jsonfile = sys.argv[1]sheet_name = sys.argv[2]#print(file)data = xlrd.open_workbook(file)for ws in dat原创 2017-10-31 21:14:01 · 1044 阅读 · 0 评论 -
nginx 搭配php
nginx配置如下: location ~ \.php$ { root /home/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_par原创 2017-08-07 15:27:48 · 242 阅读 · 0 评论 -
Linux并发数
先改系统限制:ulimit -n 65525vi /etc/security/limits.conf最后加上:* hard nofile 65535* soft nofile 65535原创 2016-09-28 17:03:14 · 383 阅读 · 0 评论 -
PHP来操作Hadoop
还是按上次安装的Hadoopcd /home/hadoopmkdir testvi user.txt:1,张三,23,beijing,10086,2,李四,34,shanghai,10000,3,王五,20,beijing,10010,vi mapper.php:#!/usr/bin/php$count = 0;while($line = fgets(S原创 2017-02-18 13:50:27 · 5354 阅读 · 3 评论 -
允许php执行linux命令
## Sudoers allows particular users to run various commands as## the root user, without needing the root password.#### Examples are provided at the bottom of the file for collections## of relat原创 2015-12-08 11:08:33 · 878 阅读 · 0 评论 -
linux 给php添加扩展
cd /usr/src/php-5.3.6/ext/mbstring/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-config(如果说找不到php-config,请find / -name php-config)make && make installec...原创 2015-01-19 11:37:19 · 759 阅读 · 0 评论 -
PHP数字转汉字 比如1001转成1千零1
<?php //数字变为汉字 比如1001转成1千零1 header('Content-type:text/html;charset=utf-8'); $test = 120365; echo $test . ''; $len = strlen( $test ); $result = ''; $wei = array( 1=>'十', 2=>'百', 3=>'千', 4=>'', )原创 2013-03-19 15:08:47 · 979 阅读 · 0 评论 -
php保存远程文件及抓URL数据
//保存远程文件function saveRemoteImg($sUrl){ global $upExt,$maxAttachSize; $reExt='('.str_replace(',','|',$upExt).')'; if(substr($sUrl,0,10)=='data:image'){//base64编码的图片,可能出现在firefox粘贴,或者某些网站上,例如google图转载 2013-03-02 17:06:08 · 998 阅读 · 0 评论 -
获取PHP里function调用过程
debug_backtrace() 更详细debug_print_backtrace() 更简洁function one($str1, $str2){ two("Glenn", "Quagmire");}function two($str1, $str2){ three("Cleveland", "Brown");}function three($str原创 2013-01-03 16:08:14 · 853 阅读 · 0 评论 -
根据变量值获取变量名
比如$var = 'abc'; //我想获取var,则:$var = 'abc';$arr = get_defined_vars();foreach( $arr as $key=>$value ){ if( $value == 'abc' ) { echo $key; }}原创 2013-01-03 15:55:12 · 670 阅读 · 0 评论 -
PHP大字符串输出
可以用类似这样的:$str = 示例:<?php$str = <<<EOD大字符串输出大字符串输出EOD;echo $str;?>原创 2012-12-18 18:26:23 · 719 阅读 · 0 评论 -
zend studio 破解
zend studio 9.0.4破解:http://www.geekso.com/ZendStudio9-keyzend guard 5.5.0破解:把下把文件存为key.zl:Product-Name = Zend GuardLicense-Version = 5.0Registered-To = Ron ManneyExpires = 10-Jul-2010Ser原创 2012-12-27 11:01:25 · 1417 阅读 · 0 评论