最近评论

phpgrid快速数据库显示表格

http://www.phpgrid.com/grid/
Grid-based editing including Create, Read, Update and Delete (CRUD) records are the most common behaviors for web developers. Similar to ASP.NET Datagrid the phpGrid is a simple, innovative, powerful, and Ajax-enabled PHP component for generating data-bound grid control, specially designed for PHP
http://phpgrid.sourceforge.net/index.php
PHPGRID是一个用于快速开发MIS系统,网站后台,演示程序的PHP类库,不仅具有数据添加编辑删除的基本功能,还具有表单自动生成,排序,分页,查询,权限设定,缓存的功能,而且这些功能是可定制的。对于特殊的需求,您只需编写少量的代码来继承于PHPGRID。 PHPGRID适合那些懒惰而又聪明的PHP程序员,PHPGRID将使你从厌烦重复的工作中解放出来。

PHP的JavaScript框架 PHP.JS

PHP.JS是一个开源项目,它将PHP中的部分函数功能移植到javascript中。只要在你的项目里包括这个php.js库文件,你就可以在 客户端浏览器上运行你所熟悉的PHP函数了。比如md5(),date(),mktime(),base64_decode()。
该项目还提供了javascript原生并不支持的一些功能,比如file_get_contents(), mktime(), serialize()等

开发语言: JavaScript PHP
操作系统: 跨平台 
软件主页: http://phpjs.org/
文档地址:
下载地址: http://phpjs.org/packages/view/php.default.min.js

php webservice soap简单实例

这边一直在用webservice soap,平时只简单的使用一下接口,对其中的原理未曾理解
今天特意做一个简单的测试。
server.php
***********************
<?php
class Basic {
    /**
     * 返回一个字符串:Hello World!
     * @return string
     */
    public function returnString($test) {
        return “Hello World!” . $test;
    }
}
$arrOptions = array (
    “uri” => “checkAPI”
); //设置命名空间
$objSoapServer = new SoapServer(null, $arrOptions);
/**
* 注册Basic类的所有方法
*/
$objSoapServer->setClass(“Basic”);
/**
* 处理请求
*/
$objSoapServer->handle();
?>
client.php
***********************
<?php
/**
* Client端,首先创建Client对象
*/
$arrOptions = array (
    “uri” => “checkAPI”, //设置命名空间
    “location” => “http://shili.cn/soap/server.php“, //设置Server地址
    “trace” => true
);
$objSoapClient = new SoapClient(null, $arrOptions);
/**
* 远程调用
*/
$test [...]

nginx+php 502 bad gateway解决方法

打开 /usr/local/php/etc/php-fpm.conf
      调大以下两个参数(根据服务器实际情况,过大也不行)
    <value name=”max_children”>1280</value>
      <value name=”max_requests”>1000</value>
可同时参看 nginx 502 bad故障原因及解决方法收集 

Nginx php调用kill命令平滑重启nginx

1.新建php文件,输入以下代码 :
  <?php
    passthru(escapeshellcmd(“sudo kill -HUP `cat /usr/local/nginx/nginx.pid`”))
?>
2.root权限登陆centos,执行 visudo ,最好用visudo编辑,不容易出现莫名其妙的预防错误。在打开的sudo文件末尾加入以下一行:
www ALL=(root) NOPASSWD: /bin/kill, /usr/bin/kill
(nginx以www用户运行)
3.如果www用户执行sudo会提示“sorry,sudo must be setuid root.”,登陆root,输入一下命令:
   ls -l  /usr/bin/sudo
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
reboot(好像可以不重启,如果不行再reboot)
(有网友提到 直接chmod 4111 /usr/bin/sudo即可)

Header函数前有输出的重定向问题

一般做PHP页面重定向时,会用到header函数的location属性,然而在header函数前面有输出时就会报错

比如

<?PHP   
echo   “hello“;   
header(“Location:http://www.********.com“);   
?>

解决的方法就是在这段代码前加上一个函数 ob_start();
代码如下:

<?PHP
ob_start();
echo   “hello“;   
header(“Location:http://www.********.com“);   
?>

引用一下资料:
自PHP4起,可以通过一些输出缓冲函数来解决这个问题。代价是把所有向浏览器的输出都缓存在服务器,直到下命令发送它们。可以在代码中使用 ob_start() 及 ob_end_flush() 来实现这样的功能,或者通过修改php.ini中的output_buffering配置选项来实现,也可以通过修改服务器配置文件来实现。
转载来源  http://www.zdyi.com/category/php-mysql/page/5

让你的ECSHOP支持GMAIL SMTP的SSL,php支持smtp ssl

看到ecshop官方论坛里有很多关于此问题的提问,刚好有空,测试了一下邮箱服务器设置,163邮箱可以正常发送,gmail不能正常发送,自己修改了一下代码,就可顺利发送邮件,解决如下:
1. 检查php是否支持openssh
首先查看phpinfo,查看看PHP是否支持OpenSSL,看到下面的字样,就标示支持OpenSSL。一般现在的PHP都会默认支持的。
OpenSSL support enabled
OpenSSL Version OpenSSL 0.9.8b 04 May 2006
2. 修改Discuz!代码
vi includes/cls_smtp.php大概在93行处,

$this->connection = [...]

PHP中$_SERVER的详细用法

$_SERVER[’PHP_SELF’] #当前正在执行脚本的文件名,与 document root相关。
$_SERVER[’argv’] #传递给该脚本的参数。
$_SERVER[’argc’] #包含传递给程序的命令行参数的个数(如果运行在命令行模式)。
$_SERVER[’GATEWAY_INTERFACE’] #服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。
$_SERVER[’SERVER_NAME’] #当前运行脚本所在服务器主机的名称。
$_SERVER[’SERVER_SOFTWARE’] #服务器标识的字串,在响应请求时的头部中给出。
$_SERVER[’SERVER_PROTOCOL’] #请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
$_SERVER[’REQUEST_METHOD’] #访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。
$_SERVER[’QUERY_STRING’] #查询(query)的字符串。
$_SERVER[’DOCUMENT_ROOT’] #当前运行脚本所在的文档根目录。在服务器配置文件中定义。
$_SERVER[’HTTP_ACCEPT’] #当前请求的 Accept: 头部的内容。
$_SERVER[’HTTP_ACCEPT_CHARSET’] #当前请求的 Accept-Charset: 头部的内容。例如:“iso-8859-1,*,utf-8”。
$_SERVER[’HTTP_ACCEPT_ENCODING’] #当前请求的 Accept-Encoding: 头部的内容。例如:“gzip”。
$_SERVER[’HTTP_ACCEPT_LANGUAGE’]#当前请求的 Accept-Language: 头部的内容。例如:“en”。
$_SERVER[’HTTP_CONNECTION’] #当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。
$_SERVER[’HTTP_HOST’] #当前请求的 Host: 头部的内容。
$_SERVER[’HTTP_REFERER’] #链接到当前页面的前一页面的 URL 地址。
$_SERVER[’HTTP_USER_AGENT’] #当前请求的 User_Agent: 头部的内容。
$_SERVER[’HTTPS’] — 如果通过https访问,则被设为一个非空的值(on),否则返回off
$_SERVER[’REMOTE_ADDR’] #正在浏览当前页面用户的 IP 地址。
$_SERVER[’REMOTE_HOST’] #正在浏览当前页面用户的主机名。
$_SERVER[’REMOTE_PORT’] #用户连接到服务器时所使用的端口。
$_SERVER[’SCRIPT_FILENAME’] #当前执行脚本的绝对路径名。
$_SERVER[’SERVER_ADMIN’] #管理员信息
$_SERVER[’SERVER_PORT’] #服务器所使用的端口
$_SERVER[’SERVER_SIGNATURE’] #包含服务器版本和虚拟主机名的字符串。
$_SERVER[’PATH_TRANSLATED’] #当前脚本所在文件系统(不是文档根目录)的基本路径。
$_SERVER[’SCRIPT_NAME’] #包含当前脚本的路径。这在页面需要指向自己时非常有用。
$_SERVER[’REQUEST_URI’] #访问此页面所需的 URI。例如,“/index.html”。
$_SERVER[’PHP_AUTH_USER’] #当 PHP [...]

PHP开源程序 大全

由于太多所以下载地址没有补上,不过这样也好查一点, 只要把名字一复制 到Google搜索就可以到其所提供技术支持的相关官方网站下载
目录
博客 [35]
CMS [97]
RSS聚合 [6 ]
综合应用 [43]
电子商务 [10]
威客wiki [16]
论坛 [30]
图片相册 [16]
网络办公 [8 ]
项目管理 [10]
开发框架 [33]
[博客] Chyrp 国外开源php+mysql 超轻量级开源博客引擎
[博客] EasyTalk 国内开源 php+mysql 迷你博客系统
[博客] AtomPhotoBlog 德国开源相册blog
[博客] zomplog 荷兰开源blog
[博客] LoudBlog 德国开源 php+mysql 博客
[博客] [...]

PHP调用Webservice实例

NuSoap是PHP环境下的WebService编程工具,用于创建或调用WebService。它是一个开源软件,是完全采用PHP语言编写的、通过HTTP收发SOAP消息的一系列PHP类,由NuSphere Corporation(http://dietrich.ganx4.com/nusoap/ )开发。NuSOAP的一个优势是不需要扩展库的支持,这种特性使得NuSoap可以用于所有的PHP环境,不受服务器安全设置的影响。  
方法一:直接调用

<?
/******************************************************************************/
/*  文件名 : soapclient.php
/*  说  明 : WebService接口客户端例程
/******************************************************************************/
include(‘NuSoap.php’);
// 创建一个soapclient对象,参数是server的WSDL
$client = new soapclient(‘http://localhost/Webservices/Service.asmx?WSDL’, ‘wsdl’);
// 参数转为数组形式传递
$aryPara = array(’strUsername’=>’username’, ’strPassword’=>MD5(‘password’));
// 调用远程函数
$aryResult = $client->call(‘login’,$aryPara);
//echo $client->debug_str;
/*
if (!$err=$client->getError()) {
  print_r($aryResult);
} else {
  print “ERROR: $err”;
}
*/
$document=$client->document;
echo <<<SoapDocument
<?xml version=”1.0″ encoding=”GB2312″?>
 <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:SOAP-ENC=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:si=”http://soapinterop.org/xsd“>
   <SOAP-ENV:Body>
   $document
   </SOAP-ENV:Body>
 </SOAP-ENV:Envelope>
SoapDocument;
?>

方法二:代理方式调用

<?
/******************************************************************************/
/*  文件名 : soapclient.php
/*  说  明 : WebService接口客户端例程
/******************************************************************************/
require(‘NuSoap.php’);
//创建一个soapclient对象,参数是server的WSDL
$client=new soapclient(‘http://localhost/Webservices/Service.asmx?WSDL’, ‘wsdl’);
//生成proxy类
$proxy=$client->getProxy();
//调用远程函数
$aryResult=$proxy->login(‘username’,MD5(‘password’));
//echo $client->debug_str;
/*
if (!$err=$proxy->getError()) {
  print_r($aryResult);
} [...]