VPS重做系统都需要做什么

重做系统都快成日常了,看来还是需要整理一下。 ...

December 25, 2014 · 2 min · Me

python中浅拷贝和深拷贝

python中浅拷贝和深拷贝 今天写python脚本,遇到了一个问题。先贴代码: #coding=utf-8 new_list = [] # 声明一个list tmp = {'a':123,'b':'ccc'} # 新建一个dict new_list.append(tmp) # 追加 print tmp print new_list tmp['a'] = 456 # 修改tmp tmp['b'] = 'ddd' new_list.append(tmp) # 追加 print tmp print new_list # 执行结果: {'a': 123, 'b': 'ccc'} [{'a': 123, 'b': 'ccc'}] # 当改变了tmp,list中的值也会变化 {'a': 456, 'b': 'ddd'} [{'a': 456, 'b': 'ddd'}, {'a': 456, 'b': 'ddd'}] 如果是PHP会发生什么? $b = array(); $a = array('b'=>123); array_push($b , $a); $a = array('b'=>456); array_push($b , $a); var_dump($b); $a = new ArrayObject(array('b'=>123)); $arr = new ArrayObject(); $arr->append($a); $a['b'] = 456; $arr->append($a); var_dump($arr); # 执行结果 array(2) { [0]=> array(1) { ["b"]=> int(123) } [1]=> array(1) { ["b"]=> int(456) } } object(ArrayObject)#2 (1) { ["storage":"ArrayObject":private]=> array(2) { [0]=> object(ArrayObject)#1 (1) { ["storage":"ArrayObject":private]=> array(1) { ["b"]=> int(456) } } [1]=> object(ArrayObject)#1 (1) { ["storage":"ArrayObject":private]=> array(1) { ["b"]=> int(456) } } } } 由结果看,PHP中array_push方法和array_object的结果也不同。...

November 10, 2014 · 1 min · Me

PHP文档收藏夹

主要记录一些值得研究的PHP文档页面 ...

October 31, 2014 · 1 min · Me

Call-to-undefined-function-imagettftext()解决方法

老高在一个新环境中装DEDECMS的时候发现后台验证码无法显示。直接搜索一下这个错误,有人说session错误,有的说权限错误等等,这不胡扯么!只能看源代码了,定位到文件/include/vdimgck.php。出错的函数是imagettftext(),由于织梦使用了@将错误隐去,导致这次莫名的错误。将@去掉,错误立马出现: Fatal error: Call to undefined function imagettftext() 现在我们就明确了,出现错误的原因是PHP编译时没有加上FreeType。 解决办法: 首先编译安装FreeType,以2.4.0为例: wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.bz2 tar -jxf freetype-2.4.0.tar.bz2 cd reetype-2.4.0 # 安装到/usr/local/freetype ./configure --prefix=/usr/local/freetype make && make install 下面我们重新编译PHP,加上参数--with-freetype-dir=/usr/local/freetype ./configure \ ... \ ... \ --with-freetype-dir=/usr/local/freetype 编译完成重启php kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` 再GD库中找到FreeType Support说明安装成功! 需要注意的是,如果服务器freetype的版本是1.*,那么你可能需要改变编译参数为--with-ttf[=DIR],以下转自ChinaUnix论坛: 字库 配置开关 FreeType 1.x 要激活 FreeType 1.x 的支持,加上 –with-ttf[=DIR]。 FreeType 2 要激活 FreeType 2 的支持,加上 –with-freetype-dir=DIR。 T1lib 要激活 T1lib(Type 1 字体),加上 –with-t1lib[=DIR]。...

October 3, 2014 · 1 min · Me

PHP一些不为人知的使用方法

今天为大家介绍一些比较抽象,但十分有用的关于PHP的用法。老高在通读了THINKPHP源代码后才发现了这一篇天地。合理的使用这些方法或者常量能帮助你更快速的开发或者DEBUG。 ...

September 24, 2014 · 6 min · Me

PHP导出项目的数据字典

突然想到这个方法,果然已经有人实现了。 有这个脚本也能看出来,数据表的很多信息都保存在INFORMATION_SCHEMA.TABLES表里,还有数据表注释的重要性! <?php /** * 生成mysql数据字典 * @author niming<287384795@qq.com> */ //配置数据库 $dbserver = "localhost"; $dbusername = "root"; $dbpassword = "root"; $database = 'mydb'; //其他配置 $title = '系统数据字典'; $mysql_conn = @mysql_connect("$dbserver", "$dbusername", "$dbpassword") or die("Mysql connect is error."); mysql_select_db($database, $mysql_conn); mysql_query('SET NAMES utf8', $mysql_conn); $table_result = mysql_query('show tables', $mysql_conn); //取得所有的表名 while ($row = mysql_fetch_array($table_result)) { $tables[]['TABLE_NAME'] = $row[0]; } //循环取得所有表的备注 foreach ($tables AS $k=>$v) { $sql = 'SELECT * FROM '; $sql ....

September 23, 2014 · 2 min · Me

编译PHP5.6

准备 PHP的安装最头疼的就是因为某些类库没有安装而报错,所以编译前请确保以下包已安装 yum groupinstall "development tools" yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses curl curl-devel openssl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c xmlrpc-c-devel 编译 高大上的编译选项 ./configure \ --prefix=/usr/local/php \ --enable-fpm \ --with-curl \ --with-openssl \ --enable-mbregex \ --with-mysql \ --with-mysqli \ --with-mysql-sock \ --enable-pdo \ --with-pdo-mysql \ --with-pdo-pgsql \ --with-pdo-sqlite \ --enable-mysqlnd \ --with-gd \ --enable-gd-native-ttf \ --enable-exif \ --with-jpeg-dir=/usr/local/jpeg \ --with-png-dir=/usr/local/png \ --with-freetype-dir=/usr/local/freetype \ --enable-gd-jis-conv \ --with-gettext \ --with-zlib \ --enable-zip \ --with-bz2 \ --disable-fileinfo \ --enable-xmlreader \ --enable-xmlwriter \ --with-xmlrpc \ --enable-mbstring \ --enable-inline-optimization \ 20150524更新 5....

September 18, 2014 · 2 min · Me

PHP时间函数总结

PHP关于时间的函数可以参考这里,可以看到PHP已经提供了很多函数以供我们使用,熟练掌握这些函数可以让你摆脱冗长复杂的计算,希望本文能够让你事半功倍! ps.关于时间戳与日期的转换工具,博主推荐这个时间戳转换工具。 ...

September 8, 2014 · 3 min · Me

PHP编译错误的解决办法

This article is post on https://coderwall.com/p/ggmpfa configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution yum -y install libxslt-devel configure: error: Could not find net-snmp-config binary. Please check your net-snmp installation. yum -y install net-snmp-devel configure: error: Please reinstall readline - I cannot find readline.h yum -y install readline-devel configure: error: Cannot find pspell yum -y install aspell-devel checking for unixODBC support… configure: error: ODBC header file ‘/usr/include/sqlext....

September 7, 2014 · 5 min · Me

php不使用中间变量交换两个变量的值

方法一: $a = $a^$b; $b = $b^$a; $a = $a^$b; 这就是位运算带给我们的奇妙之处!(这种方法只适合于int型和string型,而且位数不能超过8位) 方法二: list($var1, $var2) = array($var2, $var1);

August 13, 2014 · 1 min · Me