Я пытаюсь использовать 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
Если вы еще не нашли решение …
Прежде всего, проверьте в 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-файл, если уже не там, и не будет ;
в начале.
Надеюсь, поможет …
Других решений пока нет …