这是certificate我的网站是不可移植的。 我有一些正则expression式在我的旧服务器上完美工作。 我现在把我的网站转移到一个新的服务器,它不工作。
$handle = popen('/usr/bin/python '.YOUTUbedL.'youtube-dl.py -o '.VIDEOPATH.$fileName.'.flv '.$url.' 2>&1','rb'); while(!feof($handle)) { $progress = fread($handle,8192); $pattern = '/(?<percent>[0-9]{1,3}.[0-9]{1,2})% of (?<filesize>.+) at/'; ///######Does not execute this if - no matches if(preg_match_all($pattern,$progress,$matches)){ fwrite($fh,$matches[0][0]."rn"); } }
来自shell的输出是这样的,正则expression式应该匹配文件大小和百分比。
[download] 56.8% of 4.40M at 142.40k/s ETA 00:13
正则expression式在以前的服务器上工作,但不是这个。 为什么? 我怎样才能debugging呢?
服务器的区别在于前一个是Fedora和现在的Centos。 我还指定了shell为/ bin / bash。
如何在linux中使用cx_freeze来创build一个在Windows中使用的包
包libsndfile-dev没有安装候选
不能“混帐拉” – 主机密钥validation失败
Linux中的分叉在堆内
如何避免在Linux中通过本地堆栈进行路由
请帮忙。
更新
[download] 87.1% of 4.40M at 107.90k/s ETA 00:05 [download] 89.0% of 4.40M at 107.88k/s ETA 00:04 [download] 91.4% of 4.40M at 106.09k/s ETA 00:03 [download] 92.9% of 4.40M at 105.55k/s ETA 00:03
更新2
这个正则expression式可能会失败,因为输出中有额外的间距?
也会不同的壳有所作为?
[解决了]
这是解决了,这是由于正则expression式需要一个P – 在这里看到更多的细节: 在PHP中的这个正则expression式实际上工作?
如何强制gcc从库中链接未引用的静态C ++对象
Bash选项卡完成更改行为
linux du命令的源代码
如何validation两个string是否是使用ssh-keygen生成的密钥对?
常驻记忆使用的概述/历史
是工作或非工作服务器的输出? 第二秒可能会启用安全模式,脚本拒绝执行。 查看这个页面上的Notes部分以获取更多信息http://us.PHP.net/popen
为了验证,我看到了放置python命令输出的注释,在PHP脚本中输出$ progress变量。 我不知道你提供的输出是从cli运行python命令的时候,还是从PHP脚本中得到的。 但是,如果是从python脚本输出$ progress变量将有助于确定popen()是否真的执行该命令。
(您应该能够通过在脚本中运行PHPinfo()来判断是否启用了安全模式)
或者你可以做到这一点
if( ini_get('safe_mode') ){ print "safe mode onn"; }else{ print "safe mode offn"; }
我从来没有听说过正则表达式切换PHP配置,所以我想知道如果这是可能会破的Python。 这可能是一个愚蠢的问题,但是你有没有检查过你的exec线路是从终端上运行的?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。