2017年06月16日

我开发PHP应用使用IDE的主要功能

Filed under: PHP — cmpan @ 2017-06-16 12:31:11

一个IDE整合很多提高开发效率的工具,才能提现出它的价值。

我平时常用IDE如下功能:

  • 创建项目;
  • 创建、编辑、删除文件夹/文件;
  • 语法高亮,是个IDE都没问题;
  • 语法错误提示(PHP/JS/CSS);
  • 输入自动补全,是个IDE都没问题;
  • 文档注释提示
    鼠标放到函数、类、属性、方法上时,显示其文档注释信息。
  • 文档注释参数自动补。
  • 运行脚本
    • cil运行
    • 浏览器中运
  • 调试
    • cli运行脚本调试
    • 调试URL
  • 性能分析
  • 单元测试(PHPUnit)
    • 执行单元测试类并显示测试结果和错误信息
    • 调试单元测试
    • 代码覆盖率测试
  • 代码片段
  • 生成API文档
  • 完整的操作快捷键
  • git版本管理
    • gitflow
    • 支持ssh协议
  • composer依赖管理
    • 添加/更新依赖包
  • phing自动化部署
    当需要把代码部署到多台服务器的时候,自动部署作用就大了。这个在命令行下也能搞定,IDE能整合就更好一点。
  • Code Sniffer编码规范检查
  • 前端支持
    • emmet
    • sass/scss
    • js
  • 文字查找替换
    • 支持正则匹配
    • 可指定文件
    • 可指定文件
  • markdown编辑
    平时用markdown编写开发文档更有优势。

Views – 97

2017年04月26日

a8a.cc短网址

Filed under: 互联网研究 » 网络技术 — cmpan @ 2017-04-26 19:10:43

今天看到一个新的短网址网站a8a.cc(短网址生成地址: http://api.a8a.cc)。
对于我们技术宅来说,短网址可谓是非常有用的。当我们不想让A平台知道我们是从B平台来,那么我们用短连接网站C生成B平台链接的短网址,那么A平台看到我们是从C平台来的。比如我们做个淘宝刷单平台,淘宝商品页面链接生成短链接放到刷单平台,点击短链接进到淘宝,淘宝统计到我们是从短链接进来,而不知道是从刷单平台进来,这样避免了卖家被识破来源。

Views – 142

2017年03月18日

PHP不能保存session的问题

Filed under: PHP — cmpan @ 2017-03-18 18:13:11

php 的session无效的原因:
1、session模块没安装或被禁掉,这个可能性比较小;
2、保存session文件的文件夹不能读写;
3、生成session文件了,但是内容都是空的。出现这个问题可能是你在session变量下标使用了!或/,这个在文档里有说明(http://php.net/session.serialize-handler),不过我觉得这个也算是个bug吧。

Views – 247

2016年12月7日

CentOS Linux服务器上用postfix搭建邮件服务器

Filed under: Server — cmpan @ 2016-12-07 14:41:10

一、准备工作

为邮件服务器添加DNS解析
虽然不加DNS解析也能把邮件发出去,但会被大多数邮件服务器当作垃圾邮件。需要添加三条DNS解析记录:A记录、MX记录、TXT记录。

二、配置postfix

postfix是CentOS默认安装的邮件服务器软件。以下配置示例假设要配置的域名是menglab.com,邮件服务器主机名是mail.menglab.com。

postfix比sendmail更容易配置,速度更快。

yum -y install postfix 将postfix安装或升级

打开postfix的配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
vi /etc/postfix/main.cf

#第75行,修改myhostname
myhostname = mail.menglab.com

#第83行,修改mydomain
mydomain = menglab.com

#第99行,修改myorigin
myorigin = $mydomain

#第116行,修改inet_interfaces
inet_interfaces = all

#第119行,修改inet_protocols
inet_protocols = ipv4

#第164行,添加$mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

#第264行,修改mynetworks
mynetworks = 127.0.0.0/8

#第419行,设置home_mailbox
home_mailbox = Maildir/

#第425行,设置mail_spool_directory,/data是之前挂载的数据盘,mail目录需要通过mkdir命令创建
mail_spool_directory = /data/mail

重启postfix使设置生效

service postfix restart

三、设置开机启动

chkconfig postfix on
四、授权其他服务器通过该邮件服务器发送邮件

vi /etc/postfix/main.cf,:264将光标移至第264行,在mynetworks的值之后加这台的服务器IP地址,比如:

mynetworks = 127.0.0.0/8 58.33.14.124

重启postfix服务后生效。

使用Telnet测试发送邮件见原文: http://www.cnblogs.com/dudu/archive/2012/12/12/linux-postfix-mailserver.html

Views – 712

2016年12月1日

CentOS单独安装 ab

Filed under: Linux » 网络技术 — cmpan @ 2016-12-01 15:00:44

我们的服务器都用nginx代替了apache,但需要ab压力测试工具。
可用yum直接安装ab。

1
yum install httpd-tools

Views – 520

2016年02月28日

手机UI设计基础-尺寸&单位

Filed under: CSS » WEB — cmpan @ 2016-02-28 20:16:59

初入移动端开发和UI设计的童鞋可能对UI尺寸和单位特头痛,孟春觉得分享一下手机APP/Web UI尺寸和单位的经验是有价值的。
(全文 …)

Views – 2076

2015年07月19日

支付宝在线支付到个人号自动填收款账号、金额、付款说明

Filed under: WEB — cmpan @ 2015-07-19 23:35:36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>支付宝在线支付</title>
</head>
<body>
  <form id="alipaysubmit" action="https://shenghuo.alipay.com/send/payment/fill.htm" method="post" accept-charset="gbk">
    <input name="title" type="hidden" value="Apay14373007081182" />
    <input name="optEmail" type="hidden" value="to@email.com" />
    <input name="payAmount" type="hidden" value="1.00" />
    <input name="ok" type="submit" value="正在处理中" />
  </form>
  <script>document.forms['alipaysubmit'].submit();</script>
</body>
</html>

Views – 2192

2015年07月18日

修改linux主机名

Filed under: Linux — cmpan @ 2015-07-18 16:45:04

1、修改网络设置

1
vi /etc/sysconfig/network
1
2
3
4
5
NETWORKING=yes
HOSTNAME=www.yulans.cn
NETWORKING_IPV6=no
PEERNTP=no
GATEWAY=121.40.103.247

2、修改hosts映射主机名到本地IP

1
vi /etc/hosts

把 www.yulans.cn 加入127.0.0.1后面,建议加到ip后面作为第一个主机名,这样可作为默认主机名。
主机名使用二级域名www.yulans.cn,不要直接用以及域名yulans.cn,否则安装discuz论坛使用sendmail发送邮件的时候会发生诡异的问题(域名后面自己多出一个.com)。

3、设置主机名

1
vim /etc/hostname

Views – 1933

解决阿里云CentOS sendmail发送邮件极慢的问题

Filed under: Linux » 网络技术 — cmpan @ 2015-07-18 15:56:42

用 yum -y install sendmail 安装sendmail后,发用邮件慢到令人发指的地步。
这是因为hostname问题引起的。

1
vi /etc/hosts

结果为:

1
2
3
127.0.0.1 localhost
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.171.204.176 iZ23np16lfbZ

我们把内容改为

1
2
3
127.0.0.1 localhost localhost.localdomain iZ23np16lfbZ
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
#10.171.204.176 iZ23np16lfbZ

service network restart

之后发送邮件后就快了。

Views – 2582

2015年06月3日

Zend Studio集成Git使用

Filed under: 版本控制 — cmpan @ 2015-06-03 23:45:30

Git确实比svn好用,就是稍微不容易理解。
git分本地库和远程库,修改的工作代码要先提交到本地库,然后再提交到远程库。这个是刚接触的人比较困惑的地方,还有分支来困扰,所以了解了解工作代码、本地库和远程库后,创建、切换、合并、删除分支也是重点要了解的。
(全文 …)

Views – 3483

2015年03月18日

PHP生成新浪t.cn短URL

Filed under: PHP » 实践经验 — cmpan @ 2015-03-18 20:55:18

网页内容里面显示URL时,如果在电脑上显示,问题不大,但是如果在手机上的话,一个加入SEO优化关键词的URL,占了手机好几行,所以短URL这个时候就发挥作用了。
有时候淘宝会禁止从某个网站跳转来,我们把淘宝页面做成短URL后,再放入网站中,短网址就成了一个中转站,这样淘宝就当点击来自短网址网站。

1
2
3
4
5
6
7
8
9
<?php
$key = '2270845191';
$r = file_get_contents('http://api.t.sina.com.cn/short_url/shorten.json?source=' . $key . '&url_long=http://yulans.cn/&url_long=http://www.yulans.cn/');
if($r) {
    $items = json_decode($r);
    foreach($items as $item) {
        print "{$item->url_long} => \n{$item->url_short}\n----------\n";
    }
}

Views – 2564

2015年03月7日

升级装备,让生命少一点浪费

Filed under: 喷口水 — cmpan @ 2015-03-07 16:36:45

  好久没更新博客了,一定要找回状态。一年马不停蹄的忙碌,管理、产品了解多了一些,但技术没啥进步。以后要多花时间写写,再忙也要停下来思考回顾一下。
  今天网上升级了一下装备,网购了一下,买一张160x60x75cm的书桌,一个Asus/华硕MX239H显示器。本来还想买张椅子,但现在的木头椅子用起来也不算特别差,就算了。
  平时经常呆公司到准备十二点才回来,家成了一个只是洗澡睡觉的地方了,家里的宽带都不怎么用超浪费。升级一下设备,晚上早点回家,多一些时间来做公司之外的事情。2014年像只蚂蚁一样,感觉失去了很多东西,以前搞开源、想写书,都没能持续。
  希望2015有更大进步。

Views – 1822

2015年02月8日

Nginx/PHP-FPM上传性能优化测试

Filed under: Web Server » Nginx — cmpan @ 2015-02-08 22:31:13

在nginx.conf中添加和不添加如下代码,上传1.2G的mp3文件进行测试,效果明显。
(全文 …)

Views – 2536

nmon/nmonanalyser监控Linux服务器

Filed under: Server — 标签:, — cmpan @ 2015-02-08 12:14:21

1、下载nmon

http://nmon.sourceforge.net/

根据服务器下载相应版本或源码安装

2、数据采集
比较懒,采集方式直接网上copy

#nmon -s10 -c60 -f -m /home/
参数解释:
-s10 每 10 秒采集一次数据。
-c60 采集 60 次,即为采集十分钟的数据。
-f 生成的数据文件名中包含文件创建的时间。
-m 生成的数据文件的存放目录。
这样就会生成一个 nmon 文件,并每十秒更新一次,直到十分钟后。
生成的文件名如: _090824_1306.nmon ,”” 是这台主机的主机名。
nmon -h查看更多帮助信息。

3、生成报表工具
都说分析工具在这里下载(https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon_analyser),但是IBM维护还是出故障了,链接打不开,千辛万苦找来了Java版的,http://sourceforge.net/projects/jnmonanalyser/

下载nmonanal_0.1.2.jar,把服务器上生成日志的文件下载到本地,运行分析工具

1
java -jar /path/to/nmonanal_0.1.2.jar

在菜单选择加载nmon监控日志即可看到监控报表

4、自动按天采集监控数据

1
2
3
4
5
6
7
mkdir /home/nmonlog
vi /etc/cron.daily/nmonlog
// 输入内容设置10秒钟保存一次,执行一天
nmon -s10 -c8640 -f -m /home/nmonlog/

// 保存后改权限
chmod u+x /etc/cron.daily/nmonlog

Views – 1771

2014年07月20日

面向对象三要素、五原则、 六视点

Filed under: 面向对象 — 标签:, — cmpan @ 2014-07-20 21:27:30

经常忘记,记一下

面向对象三要素

封装(Encapsulation)
继承(Inheritance)
多态(Polymorphism)

面向对象五原则

单一职责原则(SRP)
开放-封闭原则(OCP)
Liskov替换原则(LSP)
依赖倒置原则(DIP)
接口隔离原则(ISP)

面向对象六视点

复用(Reusibility)
扩展(Extensibility)
分离(Separability)
变化(Change)
简约(Simplicity)
一致(Coherance)

Views – 3081

2014年04月27日

nginx 虚拟目录设置

Filed under: Web Server » Nginx — cmpan @ 2014-04-27 11:51:56

有时候我们想装一下phpmyadmin,又不想把phpmyadmin文件放到网站根目录中去,可以使用虚拟目录来解决。

1
2
3
4
5
6
7
8
9
10
11
12
13
# phpmyadmin 虚拟目录
location /pma {
    alias   /web/htdocs/phpmyadmin;
    index  index.html index.htm index.php;
}
# 虚拟目录支持php
location ~ ^/pma/.+\.php$ {
    rewrite /pma(/.*\.php?) $1 break;
    root    /web/htdocs/phpmyadmin;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    include        fastcgi.conf;
}

Views – 3927

2014年04月6日

【原创】PHP的动态特性

Filed under: PHP » PHP » 实践经验 — cmpan @ 2014-04-06 13:21:15

原文2008年写,发布在PHP杂志2009.1第十五期,看PDF文档效果会更好点。
PHPer15.pdf 下载
作者:流水孟春 121169238(at)qq.com
本文主要总结给对PHP 特性不了解的新手看的,因此演示代码占比较多的篇幅。
大家看还缺哪些给补充吧。欢迎来邮件或在PHPChina 的《PHPer》杂志版块纠正错误。
动态语言就是能够在运行时改变程序结构和变量类型的语言。例如:新的类和对
象可以被加载和创建,新的函数或方法可以加入和去除等等,比如Smalltalk、Ruby、
Python、PHP、Lua、Perl、Groovy 等。反之则是静态语言,比如C/C++、Java、C#等。
动态语言的动态特性决定它开发的时候需要更少的代码,有更高的灵活性。PHP
的动态特性奠定了它存在的价值,熟悉PHP 的动态特性让我们更能活用PHP。
(全文 …)

Views – 2862

【转】InnoDB还是MyISAM 再谈MySQL存储引擎的选择

Filed under: MySQL — cmpan @ 2014-04-06 09:23:41

两种类型最主要的差别就是Innodb 支持事务处理与外键和行级锁.而MyISAM不支持.所以MyISAM往往就容易被人认为只适合在小项目中使用。

我作为使用MySQL的用户角度出发,Innodb和MyISAM都是比较喜欢的,但是从我目前运维的数据库平台要达到需求:99.9%的稳定性,方便的扩展性和高可用性来说的话,MyISAM绝对是我的首选。
(全文 …)

Views – 2942

2014年01月2日

【原创】PHP-5.5.x + Xdebug + Zend Studio 调试环境设置

Filed under: Zend Studio — cmpan @ 2014-01-02 01:52:42

为什么不用zend debugger,反而舍本求末用个偏方呢?因zend debugger目前最高只支持到php-5.3.x,php-5.4.x和php-5.5.x搞不定,所以需要xdebug,它就一备胎。
(全文 …)

Views – 6378

2013年12月29日

乡音

Filed under: 随记 — cmpan @ 2013-12-29 16:51:26

今天在优酷看史蒂夫·汉森在一席演讲的视频《289段乡音》,觉得他们做的是个很有意义的事情,也录了一段传到乡音苑。我们母语是壮话,跟普通话完全不沾边,又没学过壮语文字,对着汉语文字翻译成壮话是个艰难的过程。

(全文 …)

Views – 2757

Older Posts » 友荐云推荐
Copyright © 2009 流水孟春 版权所有
Web技术,LAMP,Nginx,Web2.0,前端技术
Powered by WordPress & UI Designed by 流水孟春