我正在尝试使用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文件或在* ext *目录中放入新DLL时,我都重新启动了服务器 我甚至把路径放到wamp DLL的“... \ ext \”窗口的环境变量中,作为黑暗中的镜头。
示例代码
<?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);
?>
2015年3月19日编辑
我发现此网站以及来自php错误日志的略有不同的错误消息。 基本上下面的链接说错误发生是因为PHP_printer.dll符合不同的visual studio c ++版本,因此需要重新编译。它提供了大部分步骤,我仍然需要让它工作
https://community.apachefriends.org/f/viewtopic.php?t=53348&p=204590
Php错误:
[2015年3月18日22:55:56 UTC] PHP警告:PHP启动:打印机:无法使用 初始化模块使用模块API编译的模块= 20121212 PHP
使用模块API编译= 20100525这些选项需要匹配 第0行未知
答案 0 :(得分:0)
如果你还没有找到解决方案......
首先检查phpinfo()
是否启用了使用线程安全的wmap服务器版本。只需ctrl+F
phpinfo()
中的php_printer.dll
用于&#34;线程安全&#34;。
在您使用的版本中可能启用了线程安全性。然后你必须下载php.ini
的ts(线程安全)版本,你可以在这里找到....
http://windows.php.net/downloads/pecl/snaps/printer/0.1.0-dev/
根据您的系统要求(操作系统等)下载特定文件,并将其复制到wamp的扩展目录中。然后只需在extension=php_printer.dll
文件中启用扩展名,如
;
如果已经不在那里,只需在ini文件中添加此行,并且开头就没有using Newtonsoft.Json.Linq
string json = @"{
CPU: 'Intel',
Drives: [
'DVD read/writer',
'500 gigabyte hard drive'
]
}";
JObject o = JObject.Parse(json);
string CPU = o.CPU;
int NumDrives = o.Drives.Count;
。
希望它有所帮助...