Невозможно успешно запустить сканирование с помощью exec(),shell_exec() или system().Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Невозможно успешно запустить сканирование с помощью exec(),shell_exec() или system().

Сообщение Anonymous »

Уже несколько недель я пытаюсь запустить пакетный файл, который запускает команду для сканирования документа со сканера, подключенного к тому же компьютеру.
Я работаю над веб-приложением, которое (с использованием PHP) предназначено для сбора информации от посетителя, который пытается подать заявку на членство в моем заведении. Я не знаю, как объяснить, что я пробовал, потому что мне кажется, что я перепробовал практически все комбинации exec(), Shell_exec() и system(), которые только могу придумать.
У меня установлены разрешения PHP для выполнения, и (я думаю) все разрешения для любых других файлов установлены правильно, но я все равно ничего не получаю.
Любые указатели и/или Я очень ценю помощь, поскольку это единственная часть этого приложения, которая мешает мне завершить работу.
Ссылки:
Я использую программу с открытым исходным кодом для фактического сканирования, называемую wia-cmd-scanner. Но отметим, что я также пробовал NAPS2 с тем же отсутствием результатов. Очень маленький сайт размещен в IIS.
Scan.bat — простой однострочный файл.

Код: Выделить всё

c:\inetpub\websvcs\selfserve\kiosk\bin\wia-cmd-scanner.exe /w 94.75 /h 53.975 /dpi 600 /color RGB /format JPG /output .\id.jpg
Я пробовал различные функции PHP:
Выполнение в пакетном режиме: Непосредственное выполнение:

Код: Выделить всё

$command = "bin\\wia-cmd-scanner.exe";
$args = " /w 94.75 /h 53.975 /dpi 600 /color RGB /format JPG /output .\id.jpg";
$fire = $command . $args;
exec("cmd /c {$fire} 2>&1");
То же самое с shell_exec():

Код: Выделить всё

$command = "bin\\wia-cmd-scanner.exe";
$args = " /w 94.75 /h 53.975 /dpi 600 /color RGB /format JPG /output .\id.jpg";
$fire = $command . $args;
shell_exec($fire);
Это всего лишь три примера, но мне кажется, что я попробовал как минимум 30. Во многих случаях я не получал ошибок и ничего не регистрировалось, но и ничего не сканировалось. В некоторых случаях это дало бы мне возвращаемое значение: 1, но не более того. И последняя функция, которую я попробовал. Выдала ошибку

"Произошло исключение: невозможно создать компонент ActiveX".

Мне кажется, что я уже близко подошел, но просто не могу понять, что мешает этой штуке сработать. Я предполагаю, что это как-то связано с побегом, но я не уверен, куда именно. Признаюсь, я новичок в программировании на PHP.
Любая помощь приветствуется.
Изменить:
Использование этого кода, сохраненного как new39.php... Я могу запустить выполнение из командной строки (например: c:\PHP c:\inetpub\websvcs\selfserve\kiosk\new.39.php), и код работает как надо. Однако когда я открываю браузер и загружаю тот же файл, я получаю статус возврата: 0. Сканер не активируется и, конечно, ничего не сохраняет.


Подробнее здесь: https://stackoverflow.com/questions/797 ... -or-system
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»