Friday, May 7th, 2010
Linux下使PHP支持MSSQL(SQL Server),需要先安装FreeTDS。
FreeTDS官方网站:http://www.freetds.org 当前版本0.82
1. 编译FreeTDS
下载FreeTDS并解压,进入该目录。
./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld --enable-shared --enable-static
make
make install
2. 编译PHP
编译成模块
cd /path/to/php/source 进入PHP源码目录
cd ext/mssql 进入MSSQL模块源码目录
/usr/local/php/bin/phpize 生成编译配置文件
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds
make
make install
编译完成生成 mssql.so,修改php.ini,将该模块载入:
extension="/path/to/extension/mssql.so"
配置mssql
cd /usr/local/freetds/etc
编辑文件:
vi freetds.conf
[global]
# TDS protocol version
; tds version = 4.2
...
Posted in 电脑技术 | No Comments »
Saturday, March 27th, 2010
shell脚本,注意要cd到php所在的网站目录,再执行,否则容易找不到包含文件。
Posted in 电脑技术 | No Comments »
Wednesday, November 11th, 2009
php调用的时候,不能加'soap_version' => SOAP_1_2
Posted in 电脑技术 | No Comments »
Sunday, November 1st, 2009
在使用PHP过程中发现,自己编写的php代码因为都是源代码方式放在服务器上的所以很容易就被别人拿走随便修改(变成自己开发的)使用了。
为了保住自己的劳动成果,我一直寻找一种可以加密php代码的软件。
最著名的就是Zend公司的Zendencoder了,但是不是开源软件(要价很高,也没有找到破解版)。
既然收费的用不起,我们就用开源的。我找到了php_screw这个开源软件,目前最新版本是1.5
安装环境
系统:debian 5.0
软件:Apache 2.2.9
PHP 5.2.6
以上环境全部是debian5.0默认安装后自带的。具体的Apache+php+mysql安装方法参照如下
获取
http://liveware.kr/index.asp?cate=001004&type=view&num=337¤tPage=1&sh=&shc=
安装
1.用tar解压缩 tar -zxvf php_screw-1.5.tar.gz
2.进入php_screw-1.5目录开始安装
cd php_screw-1.5
phpize
关于phpize ,它在php5-dev扩展模块中 只要安装php5-dev模块就行了。
./confiugre
3.设置自己用来加密的密码
vi my_screw.h
-- Please change the encryption SEED key (pm9screw_mycryptkey) into the
values according to what you like.
The encryption ...
Posted in 电脑技术 | No Comments »
Thursday, October 22nd, 2009
linux下crontab 用php命令运行php脚本,php脚本include的文件必须在include_path里面,或者要用绝对路径包含。
Posted in 电脑技术 | No Comments »
Tuesday, August 4th, 2009
function object2array($object) {
if (is_object($object) || is_array($object)) {
foreach ($object as $key => $value) {
print "$key\r\n";
$array[$key] = $this->object2array($value);
}
}else {
$array = $object;
}
return $array;
}
function array2object($arrGiven){
//create empty class
$objResult=new stdClass();
foreach ($arrLinklist as $key => $value){
//recursive call for multidimensional arrays
if(is_array($value)) $value=array2object($value);
$objResult->{$key}=$value;
}
return $objResult;
}
参考:
http://www.jonasjohn.de/snippets/php/array2object.htm
Posted in 电脑技术 | No Comments »
Thursday, April 16th, 2009
最近因项目需要,需要开发一个模块,把系统中的一些数据导出成Excel,修改后再导回系统。就趁机对这个研究了一番,下面进行一些总结。
基本上导出的文件分为两种:
1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已。修改这种文件后再保存,通常会提示你是否要转换成Excel文件。
优点:简单。
缺点:难以生成格式,如果用来导入需要自己分别编写相应的程序。
2:Excel格式,与类Excel相对应,这种方法生成的文件更接近于真正的Excel格式。
如果导出中文时出现乱码,可以尝试将字符串转换成gb2312,例如下面就把$yourStr从utf-8转换成了gb2312:
$yourStr = mb_convert_encoding("gb2312", "UTF-8", $yourStr);
下面详细列举几种方法。
一、PHP导出Excel
1:第一推荐无比风骚的PHPExcel,官方网站: http://www.codeplex.com/PHPExcel
导入导出都成,可以导出office2007格式,同时兼容2003。
下载下来的包中有文档和例子,大家可以自行研究。
抄段例子出来:
<?php
/**
* PHPExcel
*
* Copyright (C) 2006 - 2007 PHPExcel
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at ...
Posted in PHP | No Comments »
Monday, March 30th, 2009
<?php
$province=array("liaoning","shanghai","guangdong","liaoning","beijing","shanghai","shanghai");
$province=array_count_values($province); //统计数组元素出现的次数
$province=array_flip($province); //键名与值进行对调
krsort($province); //按数组的索引值降序排列
foreach ($province as $key=>$value) {
echo $key." ".$value."<br>";
}
?>
Posted in 电脑技术 | No Comments »
Thursday, March 19th, 2009
提起php调用web service,在php4年代的人会立即想到用nusoap调用,这个nusoap是个好东东,不过年久未更新,恐其中会有众多漏洞了,正好已经进入了php5年代了,调用web service用自带的扩展岂不快哉!
前提:打开php5的web service扩展
环境需求:
This extension makes use of the GNOME xml library. Download and install this library. You will need at least libxml-2.5.4.
Linux下,
This extension is only available if PHP was configured with --enable-soap
Windows下:
php.ini文件中 extension=php_soap.dll 去掉注释即可
其次:调用实践,以下是俺近期调用的算是一些总结吧
手册摘录:
SoapClient->__soapCall()
说明
class SoapClient {
mixed __soapCall ( string function_name, ...
Posted in PHP | No Comments »
Wednesday, May 14th, 2008
原来程序使用list.php?n=1来实现一个功能,现在需要让其自动执行。
在命令行下,cd /www/hx/;/usr/local/bin/php /www/hx/list.php
但list.php要如何获取参数呢?
通过浏览文档,PHP 的命令行模式:
http://www.itlearner.com/code/php_manual/features.commandline.html
知道了在使用命令行时,会产生$argc 和 $argv两个参数。$argc就是所有的参数个数+1,$argv则为保
存所有参数的数组。$argv[0]为脚本的名称,所以$argc是参数个数+1,$argv[1]则为第一个参数的值。
现在list.php只需要加一个参数,开始改编list.php的获取程序。
原获取程序一句话,$num = $_GET[$n];
现改为:
if($argc==2){
$num = $argv[1];
}else{
$num = $_GET['n'];
}
这样在命令行下,cd /www/hx/;/usr/local/bin/php /www/hx/list.php 1
就可以与在浏览器上输入list.php?n=1实现相同的功能了。
Posted in PHP | No Comments »