小编dBa*_*ker的帖子

PHP 5.4.7编译ext php_printer

我的知识库是,我可以在PHP中解决.我从未使用过C,C++,C#或任何编译器.

我从使用php 5.3的XAMPP 1.7.3升级到1.8.1,其中包括:Apache 2.4.3 MySQL 5.5.27 PHP 5.4.7

它安装在Windows 7 Pro,Windows XP Pro和Windows Server 2008 r2上.但我正试图让它在目前的Windows 7上工作.

我升级是因为出于安全原因我需要更新版本的Apache和MySQL.我没有降级选项.

我使用php_printer.dll将原始数据打印到打印机:

printer_set_option($handle, PRINTER_MODE, "RAW");
Run Code Online (Sandbox Code Playgroud)

我的代码在PHP 5.3中运行良好,但在PHP 5.4中打破了.

收到错误后:"致命错误:在〜"中调用未定义的函数printer_open().我检查了php_error_log并收到了以下信息.

PHP Warning: PHP Startup: printer: Unable to initialize module
Module compiled with module API=20090626
PHP compiled with module API=20100525
These options need to match
Run Code Online (Sandbox Code Playgroud)

我已经花了好几个小时试图找到PHP 5.4.7的预编译php_printer.dll无济于事.我得出结论,我将不得不从PECL中的源文件中编译它.pecl.php.net/package/printer

在我做任何互联网用户应该做的事之前,从来没有这样做过.我用Google搜索并在此处找到了一些信息:https: //wiki.php.net/internals/windows/stepbystepbuild

它花了我一整天,但PHP构建工作.但后来尝试创建php_printer.dll首先我试过:

svn co http://svn.php.net/repository/pecl/printer/trunk pecl/printer
Run Code Online (Sandbox Code Playgroud)

但它说:'svn'不被认为是内部或外部命令,可操作程序或批处理文件.

所以我只是自己从svn.php.net/repository/pecl/printer/trunk/下载文件 并将它们放入: C:\ php-sdk\php54dev\vc9\x86\php5.4-201303311430\ext\printer

我确保从以下网站下载这些库: windows.php.net/downloads/php-sdk/deps/vc9/x86/ 也只是: deps-5.4-vc9-x86.7z

然而,我尝试了另一个; 每当我尝试nmake时收到以下内容:

c:\php-sdk\php54dev\vc9\x86\php5.4-201303311430>nmake

Microsoft (R) Program Maintenance …
Run Code Online (Sandbox Code Playgroud)

php printing dll compilation

38
推荐指数
1
解决办法
1万
查看次数

标签 统计

compilation ×1

dll ×1

php ×1

printing ×1