apache — PHP для печати на принтере на стороне сервера

Я пытаюсь использовать PHP для печати на принтере на стороне сервера. Я нашел похожий пример кода, который в большинстве случаев использует одни и те же функции API для выполнения этой задачи. Когда я запустил его на своем сервере, чтобы проверить код, он говорил «Неустранимая ошибка PHP: вызов неопределенной функции printer_open ()». Итак, я нашел по крайней мере три разные версии php_printer.DLL-х для этой функции принтера и пробовал их всех по отдельности. Я сделал еще несколько исследований и, глядя на журнал ошибок сервера Apache, нашел это предупреждение

Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку ‘ext \ php_printer.dll’ — Указанный модуль не найден. \ R \ n в Неизвестно в строке 0

Из этого нашел некоторые Результаты поиска Bing Тем не менее, причина, по которой он не загружается при запуске apache, заключается в том, что он зависит от других библиотек. Если это правда, я еще не смог найти, что это за библиотеки DLL и где их взять. Это то, что мне нужно, чтобы помочь с первым, чтобы в основном узнать, если это не зависит, то почему выдается предупреждение PHP или какая библиотека мне нужна.

Спасибо за любую помощь

Zac

Я работаю на wampserver2.2

Apache 2.4.2

PHP 5.4.3

ОС: Windows 7 64 бит

Добавлен в файл php.ini

расширение = php_printer.dll

и нет ошибок в журнале php

также я перезагружал сервер каждый раз, когда меняю файл php.ini или помещаю новую DLL в директорию * ext *
Я даже поместил путь к «… \ ext \» библиотеки DLL wamp в переменные окружения для окон, как выстрел в темноте.

Пример кода

<?php
/* get the sample text */
$lipsum = "test print";//file_get_contents('lipsum.txt');
phpinfo();

/* open a connection to the printer */
$printer = printer_open("Microsoft XPS Document Writer");

/* write the text to the print job */
printer_write($printer, $lipsum);

/* close the connection */
printer_close($printer);
?>

19.03.2015 отредактировано

Я нашел этот сайт вместе с немного другим сообщением об ошибке из журнала ошибок php.
в основном по приведенной ниже ссылке сказано, что ошибка произошла из-за того, что PHP_printer.dll соответствует другой версии Visual Studio C ++ и поэтому нуждается в перекомпиляции. это дает шаги по большей части, я все еще пытаюсь заставить это работать

https://community.apachefriends.org/f/viewtopic.php?t=53348&р = 204590

Ошибка PHP:

[18 марта 2015 22:55:56 UTC] PHP Предупреждение: запуск PHP: принтер: не удалось
для инициализации модуля Модуль скомпилирован с модулем API = 20121212 PHP
скомпилировано с модулем API = 20100525 Эти параметры должны совпадать в
Неизвестный в строке 0

1

Решение

Если вы еще не нашли решение …

Прежде всего, проверьте в phpinfo() что в используемой версии сервера wmap безопасность потоков включена или нет. Просто ctrl+F в phpinfo() для «безопасности потока».

Возможно, безопасность потоков включена в используемой вами версии. Затем вы должны загрузить версию TS (потокобезопасный) php_printer.dll который вы можете найти здесь ….

http://windows.php.net/downloads/pecl/snaps/printer/0.1.0-dev/

скачайте конкретный файл в соответствии с вашими системными требованиями (ОС и другие) и скопируйте его в каталог расширений wamp. Затем просто включите расширение в php.ini файл как

extension=php_printer.dll

просто добавьте эту строку в INI-файл, если уже не там, и не будет ; в начале.

Надеюсь, поможет …

0

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

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

По вопросам рекламы [email protected]