shell — PHP exec () занимает слишком много времени для инициализации, есть ли альтернатива?

У меня есть сценарий, и часть его запускает процесс командной строки, который, если он запускается непосредственно на сервере (Windows Server 2008), занимает менее секунды.

Когда проходит через exec(), passthru() или же system() Это занимает более 30 секунд, но вывод подтверждает, что сама процедура заняла 0,5 секунды, как и при запуске непосредственно на сервере.

Образец Exec

shell_exec(path\to\software path\to\file -sqldata "SELECT * FROM table WHERE this = that" -f "path\to\output" -c path\to\config -e PDF -ec proof -o "Proof")

Образец ответа

Inspire Designer Console 10.0 SP1 Production System
Net license (192.168.20.102)
License is valid till 2017-06-30.
Opening workflow path\to\file  2.8.2016  9:01:08.412.
Status message 0881:Reading config file path\to\config.
Status message 0884:Running module Proof.
Status message 0243:ODBC Data Input: Executing: SELECT * FROM table WHERE this = that
Status message 0246:ODBC Data Input: Reading completed with 1 records (data)
Status message 0045:Data opened (duration 0:00:00.015, records 1).
Status message 0045:Data opened (duration 0:00:00.000, records 1).
Status message 0645:Job started (engine PDF, range 1-end, copies 1, file path\to\output).
Warning 0062:Page Page 1 uses output name Main with different size. Using bigger.
Warning 5505:PDF: Optimization for fast web view enabled. The spooling time can grow significantly.
Status message 5506:PDF: Linearization in progress.
Status message 0003:Job finished (duration 0:00:00.234, sheets 1, sheets/min 256.41).
Complete run time:   0:00:00.483.

Есть ли приемлемая альтернатива или способ улучшить время «инициализации» функции exec () для увеличения времени загрузки наших сайтов?

0

Решение

РЕДАКТИРОВАТЬ:

Попробуй это:

Proc_Close (Proc_Open ("path\to\software --field=1 &", Array (), $field));

предыдущий ответ, который применяет комментарий:

Я всегда использую:

system('echo . | path\to\software path\to\file ect...');

Это начинается быстро.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector