免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 7080 | 回复: 40
打印 上一主题 下一主题

吊丝逆袭PHP扩展Perl(蛋都碎了) [复制链接]

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-06 18:59 |只看该作者 |倒序浏览
经历无比痛苦的折磨,让我意志高昂。PHP板块果然是你妹的冷板凳模块。。
他妹的,发了帖子光一堆人看,都木有人回的。一瞬间心情犹如蛋碎一般。
更让人无比蛋疼的事,就是这个无比让人无奈的扩展模块,折腾到昨晚2点多,
这耗时2天多的玩意终于装上了,现在考虑的是如何使用该模块。问题随之又来了。
看了网上的一些介绍,瞬间感觉鸭梨山大。故此发出来和大伙揣摩揣摩。
首先说,偶这不是伸手党的帖子,是交流~!是交流。。。
别看了不回复,哪怕你叫几声,起码你存在阿!我的神阿!~~

代码No1如下:
  1. <?php
  2.   $perl = new Perl();
  3.   $perl->eval('use Digest::MD5');//load perl class MD5
  4.   echo $perl->{'Digest::MD5::md5_hex'}('perl2php');
  5.   var_dump($perl->md5_hex(“Hello”));
  6.   $perl->eval('require "TEST.pm";');//load a perl class file
  7.   echo $perl->eval($x.'+'.$y.';'); // caculate and print the result of x+y
  8.   $perl->eval('$z='.$x.'+'.$y.';');
  9.   echo $z;
  10.   $perl->eval(‘
  11.         sub sum{
  12.           my $x = shif(@_);
  13.           foreach my $y (@_){
  14.             $total + =$y;
  15.           }
  16.           return $total
  17.         }
  18.         ’);
  19.   echo $perl->eval(“sum(1,2,3,4)”).”.”;
  20. ?>
复制代码
我无比的不理解传值的过程。
例如我的程序中使用了getopts这个模块的话,该如何传值?
在网上找了段代码分析了下
代码NO2如下:
  1. <?php
  2.     //启动对象
  3.     ob_start();
  4.     //创建Perl对象
  5.     $perl = new Perl();
  6.     //执行Perl脚本
  7.     $perl->require("test.pl");
  8.     //接收数据
  9.     $out = ob_get_contents();
  10.     //清空缓存
  11.     ob_end_clean();
  12.     //打印输出
  13.     print "Perl: $out";

  14. ?>
复制代码
这段代码基本上实现了脚本的运行,和exec()的运行结果无疑~
一瞬间不明白这区别在哪。。

我说说我想要的效果把:

例如:
  1. exec('perl test.pl -h localhost -p 100');
复制代码
这样的情况,在代码NO2的中该怎么把参数写入呢?求科普!求解答!

论坛徽章:
30
水瓶座
日期:2014-08-22 21:06:3415-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:4715-16赛季CBA联赛之天津
日期:2019-01-11 01:11:44
2 [报告]
发表于 2013-04-06 21:24 |只看该作者
等下,我装个php的perl扩展,不知道是不是也要装半天:wink:

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
3 [报告]
发表于 2013-04-06 21:27 |只看该作者
回复 2# shijiang1130


    这个看命~。。。   我求解决办法。。。

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
4 [报告]
发表于 2013-04-06 21:27 |只看该作者
不懂PHP Getopt::Std 是处理 @ARGV 的, 直接给 @ARGV 赋值不行吗

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
5 [报告]
发表于 2013-04-06 21:30 |只看该作者
回复 4# zhlong8


    这个不清楚。。你说的我明白,但是我想要的不是PERL能不能这么作。。
   
   我的Perl脚本是多线程,我想让PHP能够实时把print的输出打印在web页面当中,
  
   可是这蛋疼的东西老是实现不了 。。。

论坛徽章:
30
水瓶座
日期:2014-08-22 21:06:3415-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:4715-16赛季CBA联赛之天津
日期:2019-01-11 01:11:44
6 [报告]
发表于 2013-04-06 21:36 |只看该作者
墨迹哥 发表于 2013-04-06 21:27
回复 2# shijiang1130

/tmp/pear/temp/perl/php_perl.c: In function 'php_perl_clone':
/tmp/pear/temp/perl/php_perl.c:1666:7: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'unsigned int' [-Wformat]
/tmp/pear/temp/perl/php_perl.c: In function 'zm_info_perl':
/tmp/pear/temp/perl/php_perl.c:1843:3: warning: unknown conversion type character 'v' in format [-Wformat]
/tmp/pear/temp/perl/php_perl.c: In function 'zim_Perl_eval':
/tmp/pear/temp/perl/php_perl.c:1905:13: warning: passing argument 3 of 'Perl_sv_2pv_flags' from incompatible pointer type [enabled by default]
In file included from /usr/lib/perl/5.14/CORE/perl.h:5036:0,
                 from /tmp/pear/temp/perl/php_perl.c:38:
/usr/lib/perl/5.14/CORE/proto.h:3565:21: note: expected 'STRLEN * const' but argument is of type 'int *'
make: *** [php_perl.lo] 错误 1
ERROR: `make' failed

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
7 [报告]
发表于 2013-04-06 21:42 |只看该作者
回复 6# shijiang1130


    下载这个:
  1. wget https://raw.github.com/do-aki/php-ext-perl/a3d7db22eb7964ea9cb39ea2f866d10df26655d4/php_perl.c
复制代码
然后修改:php_perl.h最后一行
原本:

  1. #endif
复制代码
改成:
  1. #define PHP_PERL_VERSION 0
  2. #endif
复制代码
就可以了!

论坛徽章:
30
水瓶座
日期:2014-08-22 21:06:3415-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:4715-16赛季CBA联赛之天津
日期:2019-01-11 01:11:44
8 [报告]
发表于 2013-04-06 21:46 |只看该作者
回复 7# 墨迹哥


    已经装上了

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
9 [报告]
发表于 2013-04-06 21:48 |只看该作者
回复 8# shijiang1130


    这是命。。。。   快想想有啥办法能够解决我的思路。。

论坛徽章:
30
水瓶座
日期:2014-08-22 21:06:3415-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:4715-16赛季CBA联赛之天津
日期:2019-01-11 01:11:44
10 [报告]
发表于 2013-04-06 21:50 |只看该作者
本帖最后由 shijiang1130 于 2013-04-06 21:50 编辑

不是。我的环境是unbunt 12.10
PHP Fatal error:  Class 'Perl' not found in /var/www/index.php on line 2
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP