温馨提醒

亲爱的游客,你的浏览器太旧啦.都啥年代了.为了你的安全,为了你的体验,为更好的浏览本页, 赶紧更新一把吧.....本博客不支持ie8以下浏览器,如果你使用的是ie浏览器,请您更新到ie8或以上版本.

推荐使用谷歌浏览器(chrome)或火狐浏览器(Firefox),点击下方按键进行安装

码农部落

  ——好记性,不如烂博客!

linux+phpstrom+xdebug

先说一下,我的工作环境是fedora20,nginx,php-fpm
直接上步骤:
第一步:

 yum install php-pecl-xdebug

安装完成后,重启php进程(service php-fpm restart),然后用phpinfo();看一下,xdebug安装成功了没有。随便看下xdebug的具体文件位置。
打开配置文件 vi /etc/php.d/xdebug.ini 输入如下内容

zend_extension=xdebug.so
xdebug.idekey="PHPSTORM"
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9001
xdebug.remote_enable=on

然后再重启一下php,看一下,xdebug的idekey和端口号对不对,是不是我们上面所配置的。
第二步:配置phpstrom
File->settings->PHP->Debug 在xdebug的位置写上面配置的端口9001
Screenshot from 2014-05-26 23:03:59

File->settings->PHP->Debug->DBGp Proxy
写上idekey,host就写你的域名,默认是localhost,和端口。
Screenshot from 2014-05-26 23:04:49
接着,点击右上角的”电话”。
Screenshot from 2014-05-26 23:14:54
到这里,phpstrom就配置完成了。接着配置浏览器端的,本人使用的是chrome,所有安装的插件是xdebug helper,配置也比较简单,如下图所示。
Screenshot from 2014-05-26 23:18:13
配置完成,可以在程序里,点击,设置断电,进行调试了。


PHP去除数组中的空值元素

对于一个一维的php数组,如何去除其中值为空的元素呢?直接的办法是foreach循环一下,一个个判断排除。不过这个方法还是略显复杂,下面分享一个很简洁的方法:
假设存在如下一个一维数组:

$data = array(0=>'Springload',1=>'',2=>'www.springload.cn',3=>'');
$data = array_filter($data,create_function('$v','return !empty($v);'));
print_r($data);
//输出结果:Array ( [0] => Springload [2] => www.springload.cn );

简单分析一下以上代码中两个比较重要的函数:

array array_filter(array array,string function) 函数利用回调函数function过滤数组array中的元素,如果自定义过滤函数function返回 true,则被操作的数组array的当前值就会被包含在返回的结果数组中,并将结果组成一个新的数组。如果原数组是一个关联数组,键名保持不变。

string create_function(string $args,string $code) 创建一个匿名函数。


解决php session不同步的问题

今晚发现,自己的评论,验证码,老是不正确。猜想是session的问题,搞了两个php文件,
test.php

<?php
session_start();
$_SESSION['test']='test';
echo $_SESSION['test'];

test2.php

<?php
session_start();
echo $_SESSION['test'];

访问这两个文件,发现test2.php 输出不了东西。
查看php.ini发现,后面因为安装php-fpm,把session的保存位置给改变了。
查看php-fpm的配置,看到了session保存位置 php_value[session.save_path] = /var/lib/php/session
我的系统里,并没有这个文件夹。
解决办法,手机创建呗。

cd /var/lib/php
mkdir session
chmod -R 777 session

ok了,再次访问test.php test2.php已经正常!


wamp配置typechor伪静态

实验环境:

系统:win7/xp
Wamp版本:2.4
Typecho 版本:0.9正式版

Wamp配置伪静态,分两个情况,第一种情况是只有一个网站,没有弄虚拟主机的时候。这个比较简单。直接打开rewrite_module模块就行了。
wamp_rewrite_module
第二种情况,就是配置了虚拟主机的情况。Wamp环境下,不知道怎么配置虚拟主机的朋友,可以到这里来参考一下。

http://blog.x228.com/archives/199.html

第一步,和情况一一样,先开打rewrite_module模块。
第二步,修改对应的虚拟主机配置(httpd-vhost.conf)

 
<VirtualHost *:80>
DocumentRoot "C:/wamp/www"
ServerName web.typecho.com
<Directory "C:/wamp/www">
Options Indexes FollowSymLinks
AllowOverride all