LaaVele/FraseV5.69要求ExtMbStudio*->从系统中丢失请求的PHP扩展MbStudio。

博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)使用C语言来扩展PHP,写PHP扩展dll
 以前写过一次扩展DLL,那个是利用调用的COM口实现的扩展,与PHP不能真正融合。心血来潮,研究了一下PHP的,网上找了一些资料,自己尝试写了一个扩展DLL,测试没问题。下面记录一下具体扩展方法:
  1、首先从www.php.net网站上下载,此处以php-5.2.17版本为例,下载后解压至E:盘根目录下(目录可以自己随意定)。
  2、下载安装VC++ 6.0,因为PHP源码是利用6.0版本写的,所以使用这个版本编译不会出现意外,别的版本未测试。
  3、把VC++ 6.0安装目录中的&Microsoft Visual Studio\Common\MSDev98\Bin 绝对路径添加到系统环境变量中。
  4、进入E:\php-5.2.17\ext目录,复制skeleton文件夹,并重命名为要开发扩展的名字,本例为&myfun&。
  5、重命名skeleton.c为myfun.c,skeleton.dsp为myfun.dsp
  6、编辑myfun目录中的php_skeleton.h、myfun.c、myfun.dsp这三个文件,替换内容中所有extname为myfun,EXTNAME为MYFUN。(一定要严格区分大小写)
  下面就进入到编码阶段:
  7、打开php_skeleton.h文件(头文件),找到PHP_FUNCTION(confirm_myfun_compiled);,在PHP_FUNCTION(confirm_myfun_compiled);,下面编写PHP_FUNCTION(mb_MessageBox);,声明一个mb_MessageBox函数,此函数的作用仅是输出js弹出一个alert消息框,用于测试。
  8、下面定义函数入口,打开myfun.c文件,找到PHP_FE(confirm_myfun_compiled,NULL) ;,在下面编写 PHP_FE(mb_MessageBox,NULL),此处注意一下,PHP_FE是定义的一个宏,所以后面不用加引号。
  9、在myfun.c最后面编写函数的实体部分:
PHP_FUNCTION(mb_MessageBox)
&&& char *arg = NULL;
&&& int arg_len,
&&& char *
&&& if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, &s&, &arg, &arg_len) == FAILURE) {
&&& len = spprintf(&strg, 0, &&script&alert('%s')&/script&&,arg); //此处正是输入的js代码
&&& RETURN_STRINGL(strg, len, 0);
  到这代码书写就完成了,下面开始编译:
  10、开始-&运行,输入CMD,打开命令行窗口。
  11、进入myfun的目录,输入msdev myfun.dsp /MAKE &myfun - Win32 Release_TS&,回车编译。
  12、如果没有错误,在E:\php-5.2.17下会生成一个Release_TS文件夹,在里面就可以找到php_myfun.dll文件。
  至此扩展dll开发完成,下面在php中进行测试:
  13、把php_myfun.dll复制到原php目录中的ext文件夹内。
  14、打开php.ini文件,添加当前dll的扩展extension=php_myfun.dll
  15、重启IIS或apache,在网站目录下新建一文件,输入以下内容:
echo mb_MessageBox(&测试PHP扩展DLL by 马犇&);
  浏览即可看到效果,下面附图四张:
  添加扩展:
  php代码:
  最终效果:
  phpinfo中的扩展信息:
  至此,php扩展开发已经完成8318人阅读
开发工具(1)
一开始我在另一篇Blog中写的是WampServer+Nodepad++,当时的考虑是IDE占用空间太多,而且可能配置比较复杂,所以选择的是Nodepad++。但现在因为任务渐长,代码量多了起来,需要调试。因此还是选择一款IDE。
配置环境 Win7
WampServer 2.5 中文版
为什么我们要安装WampServer呢?
因为如果我们要开发PHP项目的话,首先我们要安装PHP解释器本身,还要安装一个服务器Apache,还要安装PHP对应的数据库MySQL。这三个软件本身的环境配置就比较麻烦,任何一个配置不好就可能导致项目无法成功运行。
这个时候我们就想,如果有一个软件本身集成了Apache+Mysql+PHP,我们只需要关注这个软件本身的配置就行,那有多好。
又因为我们是在Windows下进行的代码开发。所以WampServer就应运而生。
WampServer是一款由法国人开发的Apache Web服务器、PHP解释器以
及MySQL数据库的整合软件包。
免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发。
在windows下将Apache+PHP+Mysql 集成环境,拥有简单的图形和菜单安装和配置环境。PHP扩展、Apache模块,开启/关闭鼠标点点就搞定,再也不用亲自去修改配置文件了,WAMP它会去做。
点击 Next。推荐大家就安装在默认位置,或者可以选一个其他的位置,但注意安装路径请不要有中文,不然可能发生错误!
第一个代表是创建快速启动图标,第二个是创建桌面图标,继续点击Next
安装过程中弹出了这样一个窗口,是让我们选择默认浏览器。默认浏览器就是explorer。于是点击打开。
安装快结束的时候,又出现这个。提示一个输入管理员邮箱以及邮箱SMTP服务器的窗口,这个如果大家愿意填写,可以填一下,不过一般情况下直接点击next就可以了,不会影响安装。
至此,我们就安装成功了。
桌面上出现了
测试一下WampServer是否能成功运行
点击桌面图标
右下角出现了
右击它,选择语言,将其中文化
这个时候它是橙色的,处于离线状态(代表我们的某些服务未被启动。所有服务被启动,图标则是绿色的),我们需要先将它的服务启动,使其处于在线状态。
左击图标,选择启动所有服务
再左击图标,点击切换至在线状态。
意思就是说我的服务未启动成功
右击我的电脑,点击管理
点击服务和应用程序,再点击服务
在服务中找到wampapache,wampmysqld(这两个服务一个代表apche的服务,一个代表mysql数据库)。从我的电脑里明显可以看到是,wampapache服务没被开启。
点击开启wampapache服务
再打开“控制面板”里面的“管理工具”中的“事件查看器”,找到错误信息“make_sock:could not bind to address 0.0.0.0:80
no listening sockets available,shutting down
Unable to open logs”。意思就是80端口被占用了
解决方法如下:
1、右击我的电脑:“计算机”–&“本地磁盘(D:)”–&“wamp”–&“bin”–&“apache2.2.21”–&“conf”-&“httpd.conf”;
2、找到“httpd.conf”文件并用记事本打开,找到“Listen 80”改成“Listen 8080”;再找到“ServerName localhost:80”,改成“ServerName localhost:8080”;(这个httpd.conf是)
3、保存文件;再进入“控制面板”–&“管理工具”–&“服务”,找到wampapache服务并启动;
4、最后再重新启动wampserver程序,右下角的图标由红变橙再变绿,在IE浏览器地址栏中输入:,好的,现在PHP开发环境就可以正常使用了!
写一个代码,将其保存成hello.php。保存在WWW目录下
此时在浏览器中,敲即可访问(如果你的配置环境时,80端口没有被占用。此时敲即可访问)
如果你是个项目文件的话,新建一个文件夹,放在WWW目录下
这个时候你就可以在主页上的Your Projects的地方,看到你的项目文件夹
点击你的文件夹,发现报错了,仔细观察是URL地址的问题,也就是index.php配置的问题
打开WWW目录下的index.php,搜索if (is_dir($file) && !in_array($file,$projectsListIgnore)) ,判断逻辑里面的a标签就是目录,在http://后面加上localhost:8080/即可(我的端口为8080)。更改完该文件,重启启动下WampServer。
此时再点击那个test文件夹,就能进入到目录下
点击hello.php。即可看到结果
(这个时候代表我们的Apache服务器和PHP解释器都能顺利运行)
那么可能有同学会问,MySQL怎么用呢?
WampServer 中的MySQL
命令行操纵数据库
左击图标,选择MySQL-&MySQL控制台。此时能进入命令行操纵数据库
因为我们没有设置过MySql密码,所以此时我们敲回车就可以进入数据库,进行各种处理了
图形化界面操纵数据库
左击图标,选择phpMyAdmin(即网址localhost:8080/phpmyadmin/)。此时能进入命令行操纵数据库
此时我们就可以图形化操纵数据库了
其实这个界面就是PhpMyAdmin
PhpMyAdmin是什么
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。
其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。
WampServer修改Mysql密码的步骤
通过 phpmyadmin 进入mysql,点击上面的 【用户】 菜单,在用户【root】主机【localhost】点击编辑权限,下面有一个选项【修改密码】,输入您想要的密码,如:123456.
现在mysql密码已经修改成功。但是 phpmyadmin 还无法和 mysql 通信。所以下面我们修改 phpmyadmin 配置文件
进入wampserver安装目录,如 C:/wamp/apps/phpmyadmin3.5.1
打开config.inc.php 文件 。修改约16行代码 $cfg['Servers'][$i]['password']=’您修改的密码’,如:123456
然后再进入目录并打开
C:/wamp/apps/phpmyadmin3.5.1/libraries/config.default.php 文件,修改约215行代码 $cfg['Servers'][$i]['password'] = ‘您修改的密码’,如 123456
重启wampserver。至此密码修改成功
ZendStudio 12.5.1
ZendStudio 12.5.1:
破解工具:
(密码:9bw7)
点击Zend Studio@89_1_30414,就会自动开始下载了
然后双击ZendStudio-12.5.1-win32.win32.x86_64进行安装
按照提示一路点击“next” 一直到“finish”。
安装完成后,桌面会自动生成“Zend Studio 12.0.1”的快捷方式,先不要急着打开。
点击Zend Studio 12.5.1 x86 x64通用破解补丁 注册码,进行解压
将com.zend.verifier_12.5.1.v3.jar放到安装程序目录下的plugins文件夹中进行覆盖(默认的程序目录为C:Program Files (x86)\Zend\Zend Studio 12.0.1\plugins文件夹)
至此,就可以点击桌面上的图标,进行开发了
进入Zend Studio软件中,一开始要求选择工作空间(强烈建议选择WampServer中的WWW目录!不然可能后面会发生未知错误)
点击File-&New-&Project
填写项目名,点击Finish
这是弹出一个框,点击YES。代表开启项目视图~
右击phpTest-&Nest-&PHP File
填写php文件名,点击Finish
编写hello world
点击运行(像播放器的按钮绿色的)旁边的小三角形,可以选择运行模式,第一个是在控制台中输出结果,第二个是在网页中打开
选择第一个的话,在下方出结果
选择第二个的话,在WAMP开着的情况下,要我们填URL
在圈入的地方。填上你自己的Wamp的地址
点击OK,这样就成功打开了
因为WampServer里就包含XDebug,所以不需要安装
Wamp端 XDebug 配置
在wamp的安装目录下找到bin-&php-&php.ini
用记事本打开它,找到“; XDEBUG Extension”所在位置
原来的文字如下:
; XDEBUG Extension
zend_extension = “c:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11.dll”
xdebug.remote_enable = off
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = “c:/wamp/tmp”
xdebug.show_local_vars=0
修改后的XDEBUG后的信息如下(其实就是将xdebug.remote_enable 置为on):
; XDEBUG Extension
zend_extension = “c:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11.dll”
xdebug.remote_enable = on
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = “c:/wamp/tmp”
xdebug.show_local_vars=0
ZendStudio端XDebug 配置
php Executables 设置
打开Zendstudio,依次选择 windows-&preferences-&PHP-&PHP Executables Add 新的PHP Executables
如下图所示:
Name:PHP版本名称
Executable path:PHP.exe所在地址
PHP ini file(optional):PHP.ini所在地址
此时Executable path就选择wamp目录下的bin-&php-&php 5.5.12中的php.exe
然后可以看到,其他信息都会被自动填上,再点击Next
再点击Finish
此时配置完成,可以看到里面有我们新配置后的PHP信息
php servers 配置
接下来选择window-Preference-php Servers点击New
选择Apache
选择Apche服务的位置。即Wamp目录下的bin-&apache-&Apache 2.4.9 -&conf,点击Next
里面都是默认的内容,不做任何更改。点击Finish
选择刚刚新建的服务,点击Edit
按这样配置,点击Finish
选择刚刚的hello.php文件,右键Debug。选择在控制台调试
出现以下画面,则代表XDebug配置成功
现在还处于探索世界的阶段,学的比较杂。关注游戏编程,以及要开始准备考研了,所以有些专业课也会写上来。
这学期课很多,平衡课业和空闲。未完成的系列文章会慢慢更新的。
“每天都要保持前进,我势必要有强劲的实力,再跟全新的自己问好”
文章:22篇
阅读:28239
文章:13篇
阅读:33834
文章:12篇
阅读:15287
文章:15篇
阅读:18623博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 国V 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信