为PHP添加mcrypt扩展模块
基本原理是:首先使mcrypt软件能够运行,然后安装php扩展模块,并在php.ini配置。
这里注意的是mcrypt软件依赖libmcrypt和mhash两个库,所以安装配置顺序从右至左
一,下载安装mcrypt
1.先去http://www.sourceforge.net下载Libmcrypt,mhash,mcrypt安装包 ,下面是我找到的链接
Libmcrypt(libmcrypt-2.5.8.tar.gz ):
mcrypt(mcrypt-2.6.8.tar.gz ):
mhash(mhash-0.9.9.9.tar.gz ):
2 .先安装Libmcrypt
#tar -zxvf libmcrypt-2.5.8.tar.gz
#cd libmcrypt-2.5.8
#./configure
#make
#make install 说明:libmcript默认安装在/usr/local
3.安装mhash
#tar -zxvf mhash-0.9.9.9.tar.gz
#cd mhash-0.9.9.9
#./configure
#make
#make install
4.安装mcrypt
#tar -zxvf mcrypt-2.6.8.tar.gz
#cd mcrypt-2.6.8
#LD_LIBRARY_PATH=/usr/local/lib ./configure
#make
#make install
说明:由于在配置Mcrypt时,会找不到libmcrypt的链接库,导致无法编译,因为Libmcrypt的链接库在/usr/local/文件夹下。因些在配置mcrypt时要加入LD_LIBRARY_PATH=/usr/local导入键接库
二, 安装PHP扩展模块
1. 静态编译
在任意PHP文件中加入函数 phpinfo(),即可取得目前PHP的配置
在这些配置后面新增需要加入的配置:’–with-mcrypt=/usr/local/include’
然后进入php源代码目录,执行这条完整的configure命令
配置完成,下面进行源码包的制作和安装
make clean (一定需要)
make
make install
2. 动态加载
使用php的常见问题是:编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想删除目录重装,于是可以采用phpize。方法是:
要有与现有php完全相同的php压缩包 。我用的是php-5.2.6.tar.gz。展开后进入里面的ext/mcrypt目录 (里面是mcrypt的php扩展),然后执行/usr/local/php/bin/phpize。phpize是安装php时安装好的一个工具,如果你的机器没有安装phpize工具,那么可能还是要make,make install php,仅仅为了得到phpize.
执行完后,会发现当前目录下多了一些configure文件,如果没报错,则根据提示运行
.
相关文档:
<?php
if(empty($_GET[submit]))
{
?>
<form enctype="multipart/form-data" action="<?php $_SERVER['PHP_SELF']?>?submit=1" method="post">
<input name="filename" type="file">
<input type="submit" value="确定上传">
</form>
<?php
}
else{
......
/*
* 功能:PHP
图片水印 (水印支持图片或文字)
* 参数:
* $product_img 背景图片,即需要加水印的图片,暂只支持GIF,JPG,PNG格式;
* $waterPos 水印位置,有10种状态,0为随机位置;
* &n ......
PHP是个伟大的web开发语言,灵活的语言,但是看到php程序员周而复始的犯的一些错误。我做了下面这个列表,列出了PHP程序员经常犯的10中错误,大多数和安全相关。看看你犯了几种
1.不转意html entities
一个基本的常识:所有不可信任的输入(特别是用户从form中提交的数据) ,输出之前都要转意。
ech ......
array array_diff
( array array1, array array2 [, array
...] )
array_diff()
返回一个数组,该数组包括了所有在 array1
中但是不在任何其它参数数组中的值。注意键名保留不变。
猛的一看这个方法,还以为是将两个数组中不同的返回来呢,事实上不是,返回的是在array1中的,但是不在其他数组中的。 ......
公司MM时常给我一些号码,然我查询是哪家的,都是txt文本格式的,还好号码是一行一个,于是用file()函数取个数组,开始的时候我的win7 32位的可以用apache后来装64位win7由于没找到原生的64位apache于是就传到服务器上每次,有上传有该文件很麻烦,于是做成一个页面去让MM自己完成.废话不多说 要在form表单里上传文件就得需要在表 ......