如何在windows环境下编译生成PHP的zookeeper扩展dll

如何在windows环境下编译生成PHP的zookeeper扩展dll,第1张

1、创建编译目录“C:\php_sdk”

2、解压php-sdk-binary-tools-20110915zip里面的文件到php_sdk目录下

3、在开始菜单找到并打开Windows SDK CMD Shell (注意一定是SDK的shell , 不是DOS *** 作的cmd窗口),然后执行

[plain] view plaincopy

setenv /x86 /xp /release //这一句一定要执行成功,要不怎么都不会编译成功

cd php_sdk

bin\phpsdk_setvarsbat

bin\phpsdk_buildtreebat phpdev

执行后,目录下会生成phpdev文件夹

4、进入C:\php_sdk\phpdev\vc9\x86\,把deps-53-vc9-x867z解压到该目录下,覆盖deps文件夹。(php sdk)

5、把php源代码也解压到x86目录下。

6、把runkit压缩包内容解压到php解压后源码下的ext目录下,并把文件夹名runkit-master改为runkit

7、在x86目录下创建obj文件夹,用于保存编译时生成的文件

8、执行以下命令,用于创建php编译配置

[plain] view plaincopy

cd phpdev\vc9\x86\php53-201308211030

buildconf

configure --help >\configure_helptxt

configure --disable-all --enable-cli --enable-runkit=shared --enable-object-out-dir=\obj

注:配置中的--enable-runkit=shared意思是 memcache 以 dll 形式生成,否则就和php集成在一起了。

要安装那个xampp开发包,不然编译php扩展的时候会出错。

在windows和linux 下安装一些程序或者php的扩展资料很多,而关于mac最新版1074的资料极少。

顺便提下mac的好用的安装工具,一个是MacPort,一个是Homebrewmacport可能被墙,安装时可能会卡住。

首先你要有windows2003和iis60(60以下就免谈了)。

然后要安装的东东依次为:php52,mysql50,phpmyadmin211

这些东西一个个去找实在是太麻烦了,幸好我们有wamp。

只要学会了安装wamp,那么就只剩下“配置”了。

下面所有牵涉到的文件路径都以wamp为准,php在wamp中的目录为wamp\bin\php\php525。

要让iis能够解析php,首先要把phpini复制到c:\windows目录下,把php5isapidll复制到c:\windows\system32下。

然后从windows2003的管理工具中进入iis,新添加一个web服务扩展,扩展名可以任意填写,比如说“php服务扩展”,要求的文件则是php5isapidll,勾上“设置扩展状态为允许”。

然后新建一个网站,假设已经有了一个网站,右键“属性”,为网站创建一个“应用程序池”,执行权限为“脚本和可执行程序”,点击“配置”,添加一个

“应用程序扩展”,在新d出的窗口中,可执行文件选择刚才的php5isapidll(最好是c:\windows\system32下的),”扩展

名”为php,动作限制为“get,head,post,trace”,勾去“确认文件是否存在”

ok,这样php就基本上配置好了,可以去网站根目录下创建一个indexphp,写入“

php

phpinfo();”,然后打开浏览器测试一下就可以了。

首先你必须修改phpini,找到extension_dir这个参数,假设wamp安装在d盘,改成

extension_dir

=

“d:\wamp\bin\php\php525\ext\”,然后找到extension=php_mysqldll和

extension=php_mysqlidll,确保他们之前的逗号已经去掉。

接下就是关键了,在wamp\bin\php\php525目录下有一个关键的文件libmysqldll,昨天困扰了许久,才想起以前配置

mysql的惨痛经历(都是wamp惹的祸,把php/mysql的安装搞的太简单了),这个文件一定要复制到c:\windows\system32目

录下去,否则就算在phpini里面打开extension=php_mysqldll也没有用,当浏览需要连接mysql的页面时,会报错说

“mysql”类型不存在。

我们就遇到了这样一个实际问题:54上已经在运行asp以及aspnet的网站,iis抢占了80端口,apache就不能使用了,这样难道你要别人在

单,在wamp中找到>

单项加密比较容易。最简单的就是md5。还有mcrypt加密函数库。

base64不能算做加密,只能算是转码。因为别人可以直接用base64_decode得到原文。

mcrypt有双向加密揭秘的函数。但是,mcrypt扩展并不是每个服务器都会有的。

DISCUZ自带了一个双向加密函数,推荐使用:

<php

#加密

$code = authcode("everalan", 'ENCODE');

#解密

$username = authcode($code, 'DECODE');

function authcode($string, $operation, $key = '') {

$auth_key = !empty($key) $key : '你自己定义的key';

$key = md5($auth_key);

$key_length = strlen($key);

$string = $operation == 'DECODE' base64_decode($string) : substr(md5($string$key), 0, 8)$string;

$string_length = strlen($string);

$rndkey = $box = array();

$result = '';

for($i = 0; $i <= 255; $i++) {

$rndkey[$i] = ord($key[$i % $key_length]);

$box[$i] = $i;

}

for($j = $i = 0; $i < 256; $i++) {

$j = ($j + $box[$i] + $rndkey[$i]) % 256;

$tmp = $box[$i];

$box[$i] = $box[$j];

$box[$j] = $tmp;

}

for($a = $j = $i = 0; $i < $string_length; $i++) {

$a = ($a + 1) % 256;

$j = ($j + $box[$a]) % 256;

$tmp = $box[$a];

$box[$a] = $box[$j];

$box[$j] = $tmp;

$result = chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));

}

if($operation == 'DECODE') {

if(substr($result, 0, 8) == substr(md5(substr($result, 8)$key), 0, 8)) {

return substr($result, 8);

} else {

return '';

}

} else {

return str_replace('=', '', base64_encode($result));

}

}

可以肯定的是,你不需要用C++

这个是php扩展库支持。

在phpini里面可以看到952行。

extension=php_rardll

;extension=php_bz2dll

extension=php_curldll

;extension=php_dbadll

;extension=php_exifdll

;extension=php_fileinfodll

extension=php_gd2dll

;extension=php_gettextdll

;extension=php_gmpdll

;extension=php_intldll

;extension=php_imapdll

;extension=php_interbasedll

extension=php_ldapdll

extension=php_mbstringdll

;extension=php_mingdll

;extension=php_mssqldll

extension=php_mysqldll

extension=php_mysqlidll

;extension=php_oci8dll

;extension=php_oci8_11gdll

extension=php_openssldll

;extension=php_pdo_firebirddll

;extension=php_pdo_mssqldll

extension=php_pdo_mysqldll

;extension=php_pdo_ocidll

;extension=php_pdo_odbcdll

;extension=php_pdo_pgsqldll

extension=php_pdo_sqlitedll

;extension=php_pgsqldll

;extension=php_phardll

;extension=php_pspelldll

;extension=php_shmopdll

;extension=php_snmpdll

;extension=php_soapdll

extension=php_socketsdll

;extension=php_sqlitedll

;extension=php_sqlite3dll

;extension=php_sybase_ctdll

;extension=php_tidydll

;extension=php_xmlrpcdll

;extension=php_xsldll

;extension=php_zipdll

extension= php_memcachedll

每一行前面分号去掉的表示开启扩展库的。

有些扩展库是安装的时候默认开启的,有些需要手动开启。

还有一些扩展库需要自己去下载库文件(要对应相应的版本)

下载的库文件放在php安装根目录下面的ext目录下面。当然这个目录也是可以自己配置的。

第一步:在百度中搜索Phalcon,一般第一个网站,进入网站,我们点击网站首页的download,目前该框架的最近版本是20

接着 我们找到我们的系统 这里我建议选用二进制的源码编译安装!

然后 我们根据网站上的提示 下载该框架托管在github上面的二进制源码,如图所示,(使用git命令时需要安装yum install git)

使用putty连接我们的linux系统 在linux系统/usr/local/src/下面输入步骤三上的命令 稍等片刻源码就会下载下来

源码下载完毕后会有一个cphalcon目录 我们用命令行切换到/usr/local/src/cphalcon/build

用vi编辑器打开install文件 按照下图配置 选择php-config(php安装位置各有不同)默认install 没有选择php-config的位置所有我们要自己动手

编辑完成 直接执行/install 动态编译加载php扩展

编译完成后打开phpini文件添加phalcon的扩展 在phpini中添加下图的扩展即可

最后一步php探针验证 !大工告成!

环境:win81系统 wampsever(忘了版本号,里面是Apache2417+Mysql579+PHP5616&700)

1先看看phpinfo中有没有mbstring。

如何看phpinfo?打开记事本,写如下代码

<php

phpinfo();

>

保存为phpinfophp,放到wamp安装目录的>

以上就是关于如何在windows环境下编译生成PHP的zookeeper扩展dll全部的内容,包括:如何在windows环境下编译生成PHP的zookeeper扩展dll、xampp下的php连接ibm db2,下载了扩展包,询问扩展包存放路径、php程序怎么部署运行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9702566.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存