因项目升级,服务器由原来的32位 、PHP5 环境升级为64位、PHP7 。
使用pack、unpack 函数,位数不够的时候在php5环境下没问题,在PHP7环境下会补“\0”。
使用32位 php5运行测试代码:出现下边的错误,求解答。
//php5 执行 1.php
// 1.php文件内容:
<?php
$a = pack('a51ii','ab\0cdefd2151frf2c1dfdfv2fgreewgbbt525g58922f35dvr',6,3);
var_dump($a);
$b = unpack('a51a/ib/ic',$a);
var_dump($b);
echo "\n";
$c = exec("php7 test1.php");
$d = unpack('a51a/ib/ic',$c);
var_dump($d);
?>
//test1.php 文件内容:
<?php
$a = pack('a51ii','ab\0cdefd2151frf2c1dfdfv2fgreewgbbt525g58922f35dvr',6,3);
echo $a;
?>