Intereting Posts
Как найти полные слова только в строке Как выбрать класс = "selected" в зависимости от того, какая текущая страница / URL-адрес Ограничение памяти PHP – изменить без редактирования php.ini? CURL – cookie не включен / сеанс истек Как получить результат вставки как сделать bbcode для анализа URL-адресов в ссылках? Правильное предотвращение почтовой инъекции в PHP Являются ли веб-операционные системы практичными? ошибка при выходе из базы после расширения класса LogoutListener отправлять данные на localhost в приложении для Android PHP + MySQL: разница между буферизированными и небуферизованными запросами Как обрабатывать электронные письма в реальном времени по мере их поступления Как объединить значения флажков со значениями текста в php? Правильно закодируйте символы в почтовой форме PHP («Я» превращается в «I \ m») Передача данных формы в два местоположения с использованием Javascript и PHP?

PHP 5.4.7 Компиляция ext php_printer

Моя база знаний – я могу обойти php. Я никогда не работал с C, C ++, C # или компиляторами.

Я обновлен с XAMPP 1.7.3, который использовал php 5.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"); 

Мой код отлично работал в 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 

Я искал часы, пытаясь найти предварительно скомпилированный php_printer.dll для PHP 5.4.7 безрезультатно. Я пришел к выводу, что мне придется скомпилировать его из исходных файлов в PECL. pecl.php.net/package/printer

Никогда не приходилось делать это, прежде чем я сделал то, что должен делать любой интернет-пользователь. Я искал ее и нашел здесь некоторую информацию: https://wiki.php.net/internals/windows/stepbystepbuild

Это заняло у меня весь день, но работа PHP работала. Но потом попытался создать php_printer.dll Сначала я попробовал:

 svn co http://svn.php.net/repository/pecl/printer/trunk pecl/printer 

Но он сказал: «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

Однако я попробовал один, затем другой; каждый раз, когда я получал следующее, когда пытался судить:

 c:\php-sdk\php54dev\vc9\x86\php5.4-201303311430>nmake Microsoft (R) Program Maintenance Utility Version 9.00.30729.01 Copyright (C) Microsoft Corporation. All rights reserved. printer.c ext\printer\printer.c(266) : error C2065: 'pval' : undeclared identifier 

ОБНОВИТЬ

Я получил некоторую помощь на другом форуме.


от hackattack142 »03. Апрель 2013 23:51

Здравствуйте,

Откройте «printer.c» и замените все экземпляры «pval» на «zval», и он должен скомпилироваться.


Спасибо Hackattack, на один шаг ближе, надеюсь,

 c:\php-sdk\php54dev\vc9\x86\php5.4-201303311430>buildconf ~ c:\php-sdk\php54dev\vc9\x86\php5.4-201303311430>configure --disable-all --enable-cli --enable-printer ~ c:\php-sdk\php54dev\vc9\x86\php5.4-201303311430>nmake Microsoft (R) Program Maintenance Utility Version 9.00.30729.01 Copyright (C) Microsoft Corporation. All rights reserved. internal_functions.c printer.c Creating library Release_TS\php5ts.lib and object Release_TS\php5ts.exp Creating library Release_TS\php.lib and object Release_TS\php.exp SAPI sapi\cli build complete 

Казалось, он скомпилирован. Однако; Я не могу найти файл printer.dll или php_printer.dll, результатом которого я надеялся.

В папке Release_TS \ ext есть папка с именем Printer . Он содержит следующие файлы: printer.obj printer.sbr vc90.idb

Я также сделал последний шаг:

 c:\php-sdk\php54dev\vc9\x86\php5.4-201303311430>cd Release_TS c:\php-sdk\php54dev\vc9\x86\php5.4-201303311430\Release_TS>php -m [PHP Modules] Core date ereg pcre printer Reflection SPL standard [Zend Modules] c:\php-sdk\php54dev\vc9\x86\php5.4-201303311430\Release_TS> 

Помощь с другого форума

 configure --disable-all --enable-cli --enable-printer=shared 

Он работал, и я создал php_printer.dll, однако, когда я пытался его использовать:

В журнале ошибок PHP: [15-Apr-2013 15:34:53 UTC] PHP Предупреждение: запуск PHP: недопустимая библиотека (возможно, не библиотека PHP) 'php_printer.dll' в Unknown on line 0


Мне пришлось захватить 5.4.7 файлов, поскольку я использовал 5.4.15, но XAMPP 1.8.1 использует 5.4.7

http://www.oldapps.com/php_programming_language.php?old_php=8227

И поставьте его в: C: \ php-sdk \ php54dev \ vc9 \ x86 \ php-5.4.7

затем поместите файлы принтера в папку ext и выполнили все указанные выше процессы и:

configure –enable-printer = shared

И это сработало:

PHP версия 5.4.7 php_printer.dll

http://pylonx.com/PHP/php_printer_5.4.7.zip

Solutions Collecting From Web of "PHP 5.4.7 Компиляция ext php_printer"

Загрузите и установите любую версию php, которая вам нравится, и установите соответствующую dll php printer здесь: http://windows.php.net/downloads/pecl/snaps/printer/0.1.0-dev/

Это ошибка в версиях с 5.4.7 до 5.4.11 PHP.

Если вы можете использовать версию xampp 1.6.8, она исправит эти проблемы. он имеет php 5.2.6, а также файл php_printer.dll сохранен в папке ext в папке php. поэтому вам нужно будет только не комментировать расширение строки = php_printer.dll в файле php.ini, которое было отмечено в пути в разделе «Загруженный файл конфигурации» на странице с информацией о php. вы можете найти эту версию xamppfrom oldapps.com