Купить SSD Хостинг   

WebHelpCenter.ru Все что может пригодится вебмастеру, администратору сервера, хостинга, программисту и новичку в интернете

Сети
Поиск по сайту
Разделы сайта
Подробнее о...
Календарь
«    Декабрь 2017    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Архив новостей
Полезное
Облако тегов
Популярные новости
Скачать Игры бесплатно
Скачать alawar Игры бесплатно
Друзья
Самое дорогое

Установка PDFlib PHP5 на сервер CPanel

К сожалению в WHM через EasyApache (Apache Update) не возможно установить PDFlib, это нужно делать в ручную. Это делается совсем просто.
Установка которая описана ниже для версии PHP 5.

Далее описано подробно как установить PDFlib на сервер Linux по управлением CPanel, а так же без проблем можно установить PDFlib если у вас нет WHM/CPanel.

1. Заходим на сервер по средством SSH

[/]# cd /usr/local/src/

2. Заходим на оф. сайт http://www.pdflib.com и скачиваем пакет PDFlib Lite

Качаем PDFlib Lite 7 для Linux системы
http://www.pdflib.com/download/pdflib-family/pdflib-lite-7/

На данные момент это PDFlib Lite 7.0.5

[/]# wget http://www.pdflib.com/binaries/PDFlib/705/PDFlib-Lite-7.0.5.tar.gz

3. Распаковываем и устанавливаем PDFlib Lite

[/]# tar xvzf PDFlib-Lite-7.0.5.tar.gz
[/]# cd PDFlib-Lite-7.0.5/
[/]# ./configure
[/]# make
[/]# make install

4. Устанавливаем расширение pdflib для PHP

[/]# pecl install pdflib

Когда у вас спросить, куда установить PDFlib (Path to PDFlib installation?)
указываем /usr/local/

[/]# Path to PDFlib installation? /usr/local/

Если при инсталляции выдало ошибку,
.....
checking whether the C compiler works... configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
ERROR: `/root/tmp/pear/pdflib/configure --with-pdflib=/usr/local/' failed

то не расстраивайтесь, тогда делаем так:

[/]# cd /root/tmp/pear/cache/
[/]# rm -rf pdflib-2.1.8/
*[/]# tar -zxvf pdflib-2.1.8.tgz
*[/]# cd pdflib-2.1.8/
*[/]# phpize
*[/]# ./configure --with-pdflib=/usr/local/
*[/]# make
*[/]# make install

или скачиваем с сервера PECL : http://pecl.php.net/package/pdflib
[/]# cd /usr/local/src/
[/]# wget http://pecl.php.net/get/pdflib-2.1.8.tgz
Как установить, написано чуть раннее
начиная с *[/]# tar -zxvf pdflib-2.1.8.tgz (помеченное звездочкой * )
.....

Процесс установки должен пройти без проблем.

5. Добавляем расширение pdf.so для PHP в ваш файл php.ini

Если вы не знаете где находится ваш php.ini файл, то смотрим путь так:
[/]# php -i | grep php.ini
[/]# Configuration File (php.ini) Path => /usr/local/lib
[/]# Loaded Configuration File => /usr/local/lib/php.ini



[/]# vi /usr/local/lib/php.ini

Где то в конце файла, где другие расширения, добавляем :

extension=pdf.so

Сохраняем файл :wq и перезапускам апачь (Apache)

[/]# service httpd restart

Если все прошло успешно то установка на этом закончена.
теперь проверяем.

6. Проверяем наличие PDFlib

[/]# php -i | grep PDF
[/]# PDF Support => enabled
[/]# PDFlib GmbH Version => 7.0.5

Если посмотреть через браузер, создать файл в выводом phpinfo
то будем видеть следующую картину
Установка PDFlib PHP5 на сервер CPanel

7. Тестовый пример работы библиотеки PDFLib

Примеры можете взять для теста с папки
[/]# /usr/local/src/PDFlib-Lite-7.0.5/bind/pdflib/php/examples.php5

т.е. там где был распакован архив PDFlib-Lite-7.0.5.tar.gz

Пример взят из файла hello.php

Обратите внимания! В начале строки кода PHP (примера ниже): не должно быть пустых строк и пробелов, т.е. код файла должен начинаться сразу с <?php ...., иначе не будет работать, ошибки типо "Warning: Cannot modify header information - headers already sent by (output ......"


<?php
/* $Id: hello.php,v 1.6.2.1 2008/04/06 17:55:03 rp Exp $
*
* PDFlib client: hello example in PHP
*/

try {
    $p = new PDFlib();

    # This means we must check return values of load_font() etc.
    $p->set_parameter("errorpolicy", "return");

    /* This line is required to avoid problems on Japanese systems */
    $p->set_parameter("hypertextencoding", "winansi");

    /*  open new PDF file; insert a file name to create the PDF on disk */
    if ($p->begin_document("", "") == 0) {
        die("Error: " . $p->get_errmsg());
    }

    $p->set_info("Creator", "hello.php");
    $p->set_info("Author", "Rainer Schaaf");
    $p->set_info("Title", "Hello world (PHP)!");

    $p->begin_page_ext(595, 842, "");

    $font = $p->load_font("Helvetica-Bold", "winansi", "");
    if ($font == 0) {
        die("Error: " . $p->get_errmsg());
    }

    $p->setfont($font, 24.0);
    $p->set_text_pos(50, 700);
    $p->show("Hello world!");
    $p->continue_text("(says PHP)");
    $p->end_page_ext("");

    $p->end_document("");

    $buf = $p->get_buffer();
    $len = strlen($buf);

    header("Content-type: application/pdf");
    header("Content-Length: $len");
    header("Content-Disposition: inline; filename=hello.pdf");
    print $buf;

}
catch (PDFlibException $e) {
    die("PDFlib exception occurred in hello sample:\n" .
        "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
        $e->get_errmsg() . "\n");
}
catch (Exception $e) {
    die($e);
}

$p = 0;
?>


На кране будет PDF документ с текстом

Hello world!
(says PHP)

Опубликовал admin, 25-07-2010, 19:16 | Комментировать (0) | Печать
 (голосов: 0)