用 SWIG 构建 PHP 扩展
南三方
作者:Martin Streicher, 软件开发人员, Pixel, Byte, and Comma
尽管编写一个 PHP 扩展并不是很困难,而 SWIG 的确进一步简化了这项任务,这主要是因为它自动化了结合 PHP 与 C 或 C++ 所需的工作。若给定对一个函数的描绘 — 函数的名称及其形参 — SWIG 就会生成一个包装程序来将 PHP 与低层代码连接起来。
SWIG 需要一些前提条件。SWIG 的一些最新版本需要 PHP 的版本是 V5。此外,还需要有一个 C/C++ 编译器,比如 GNU Compiler Collection (GCC),以及 PHP Module Development Kit (MDK)。特别是您还要有与 PHP 安装相关的头文件。如果您使用的是 Ubuntu Linux ® 或一个 Debian 的变体并且已经从一个包存储库安装了 PHP V5,那么一般而言您就可以使用 Advanced Packaging Tool (APT) 添加 MDK 了。例如,在 Ubuntu 内核 9.10 上,键入 apt-get install sudo apt-get install --install-recommends --yes php5-dev。
截止到 2009 年底,SWIG 的最新版本是 V1.3.40(参见 参考资料)。下载 tarball (一个由 gzip 压缩了的 TAR 文件),将它解压缩,然后针对您的系统配置这些代码,构建并安装这个软件。(要想找到所有的配置选项,运行 ./configure --help)。清单 1 提供了下载、解压缩和安装 SWIG 所需的命令。
清单 1. 下载、解压缩和安装 SWIG
$ wget http://prdownloads.sourceforge.net/swig/swig-1.3.40.tar.gz
$ tar xzf swig-1.3.40.tar.gz
$ cd swig-1.3.40
$ ./configure
$ make
$ sudo make install
$ which swig
/usr/local/bin/swig
构建一个扩展
让我们构建一个扩展来用 Linux mcrypt 库加密和解密消息。PHP 提供了一个 mcrypt 库,但它不过是对此库的 C 版本稍作修饰后的结果。现在,让我们构建两个更为简洁的方法:一个用来加密字符串,另一个用来解密字符串。
在 Ubuntu 或与其相似的系统上,您可以用 APT 安装恰当的 mcrypt 库和头文件:$ sudo apt-get install libmcrypt-dev libmcrypt4 mcrypt libmhash2。
若您宁愿从头开始构建,或者您的分布版内不包括 mcrypt,那么可以从它的主页上下载源代码(参见 参考资料)。替代了 crypt 的 mcrypt 实用程序也依赖于 libmhash,因此必须在编译 mcrypt 之前构建 libmhash。清单 2 给出了构建 libmhash 所需的代码。
清单 2. 构建 libmhash
$ # libmhash
$ wget
相关文档:
<?php
###########################################
#作者: 沈潋(S&S Lab) #
#E-mail:shenlian@hotmail.com ......
function randomkeys($length)
{
$key='';
$pattern='123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
for($i=0;$i<$length;$i++)
{
$key .= $pattern{mt_rand(0,47)};
}
  ......
PDO为何物
POD(PHP Data Object)扩展在PHP5中加入,PHP6中将默认识用PDO连接数据库,所有非PDO扩展将会在PHP6被从扩展中移除。该扩展提供PHP内置类 PDO来对数据库进行访问,不同数据库使用相同的方法名,解决数据库连接不统一的问题。
我是配置在windows下做开发用的。
PDO的目标
提供一种轻型、清晰、方便的 API
统 ......
PHP连接数据库之PHP连接MYSQL数据库代码 < ?php
$mysql_server_name='localhost';
//改成自己的mysql数据库服务器
$mysql_username='root';
//改成自己的mysql数据库用户名
$mysql_password='12345678';
//改成自己的mysql数据库密码 &nb ......
/*** Function: PHP header() examples (PHP)
**
Desc: Some examples on how to use the header() function of PHPYou find
a detailed tutorial at expertsrt.com (English) or at ffm.junetz.de
(German).These is also a good help about caching at web-caching.com.
**
Example: see below.
<br/& ......