Сценарий сценариев разрешений на работу не работает. Может ли это быть связано с тем, что PHP.ini отличается?

Вот доказательство того, что мой сайт не переносится. У меня было некоторое регулярное выражение, которое отлично работало на моем старом сервере. Теперь я перевел мой сайт на новый сервер, и он не работает.

$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]."\r\n"); } } 

Выход из оболочки – это что-то вроде этого, и регулярное выражение должно соответствовать размеру файла и проценту.

 [download] 56.8% of 4.40M at 142.40k/s ETA 00:13 

Регулярное выражение работало на предыдущем сервере, но не на этом. Зачем? Как я могу отладить это?

Разница в серверах заключается в том, что предыдущей была Fedora и ее теперь Centos. Также я указал оболочку как / bin / bash.

Есть ли что-нибудь в PHP.ini, которое может вызвать изменение в этом?

Пожалуйста помоги.

Обновить

Вывод $ progress – это: (всего лишь небольшая выборка)

 [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

Может ли это регулярное выражение выйти из строя из-за дополнительного интервала в выходе?

Также изменилась бы другая оболочка?

[Решено]

Это было решено, и это было связано с регулярным выражением, требующим P – см. Здесь более подробную информацию: действительно ли это регулярное выражение в PHP?