カテゴリー
PHP

PDF1.7とか新しいバージョンのPDFをPHPを扱うには有償版のFPDIが必要らしい

PDFのバージョン

Portable Document Format - Wikipedia

全く意識したことがなかったけどPDFにはバージョンがあるらしい。今回の対象ファイルはPDF1.7となっていて比較的新しいバージョンのPDF。

PHPでこいつを読み込むのには有償版のFPDI(FPDI-Parser)が必要らしい。

FPDI-Parserからファイルチェックが出来る。

無償版で試す

PDF1.7のファイルを無償版のパーサで読み込むとエラーになる。

FPDI-ParserでPDFが読み込めるかweb上で試す

FPDI-Parser error

有償版で試す

有償版にチェックを入れてRUNすると読み込める事が確認できる。

FPDI-Parser有償版だと読み込み成功する

世の中知らない事って無限にある。

参考エントリー
カテゴリー
PHP インストールメモ

CentOS5.5にZend Optimizerをインストール

Live Commerceを使うのにはZend Optimizerが必要なのでインストールする。

CentOS5.5(32bit)
PHP 5.2.16

ダウンロード

ダウンロード場所がわかりにくいので注意
※Zend OptimizerをダウンロードするにはMyZendに登録する必要がある。
ゼンド・ジャパン株式会社

ダウンロード>Zend Guard>loader>linux>ZendOptimizer-3.x.x-linux-glibc23-xxx.tar.gz
※ xの部分はPHPのバージョンやOSによって異なる
当方の環境では ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz だった。

設置

ダウンロードしたファイルを解凍する。

$ tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

PHPのバージョンに対応した ZendOptimizer.so を /usr/lib/php/modules へ設置する。
※自分の環境では ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp の中にあるものを使用。

$ cd ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp
$ sudo mv ZendOptimizer.so /usr/lib/php/modules

php.iniの設定

# vi /etc/php.ini
追記
[Zend]
zend_extension=/usr/lib/php/modules/ZendOptimizer.so
zend_optimizer.optimization_level=15

Apache再起動

# service httpd restart

参考:

  • 【環境構築3】PHPをインストールする のんき者のシステム開発ノート(ってかメモ)/ウェブリブログ
  • Zend Optimizer のインストール | Linuxで自宅サーバ構築
  • カテゴリー
    CentOS5.x PHP サーバ管理

    CentOS 5.5 php5.3.6からphp5.2.17へyumでダウングレード

    remiリポジトリでphp5.3をyumでインストールしたけど、php5.2で動いていたスクリプトが動かない。
    困るのでphpをダウングレードする。

    php関連パッケージを調べる。

    # yum list installed | grep php*
    php.i386                               5.3.6-1.el5.remi                installed
    php-cli.i386                           5.3.6-1.el5.remi                installed
    php-common.i386                        5.3.6-1.el5.remi                installed
    php-gd.i386                            5.3.6-1.el5.remi                installed
    php-imap.i386                          5.3.6-1.el5.remi                installed
    php-ldap.i386                          5.3.6-1.el5.remi                installed
    php-mbstring.i386                      5.3.6-1.el5.remi                installed
    php-mcrypt.i386                        5.3.6-1.el5.remi                installed
    php-mysql.i386                         5.3.6-1.el5.remi                installed
    php-pdo.i386                           5.3.6-1.el5.remi                installed
    php-pear.noarch                        1:1.9.2-3.el5.remi              installed
    php-pgsql.i386                         5.3.6-1.el5.remi                installed
    php-xml.i386                           5.3.6-1.el5.remi                installed

    # yum remove php*
    だと、全てのパッケージが削除されない?ようなので、手動設定でパッケージを削除。

    # yum remove php php-cli php-common php-gd php-imap php-ldap php-mbstring php-mcrypt php-mysql php-pdo php-pear php-pgsql php-xml

    ※ /etc/php.ini は /etc/php.ini.rpmsave として保存される。

    カテゴリー
    PHP

    PHP のエラーログ Notice: Undefined variable: を Apacheのエラーログに記録しない様にする

    使っているPHPのプログラムで Notice: Undefined variable: というエラーログが残るのがウザすなので対策。

    php.ini の error_reporting = E_ALL & ~E_NOTICE がコメントアウトされているので有効化する。

    ;error_reporting = E_ALL & ~E_NOTICE
    ↓有効化
    error_reporting = E_ALL & ~E_NOTICE
    
    error_reporting  =  E_ALL
    ↓ コメントアウト
    ;error_reporting  =  E_ALL

    Apache を再起動して設定を有効にする。

    カテゴリー
    PHP インストールメモ

    CentOS4.8 に Zend Framework をインストール

    環境

    CentOS 4.8
    Apache 2.2.15
    PHP 5.2.13

    Zend Framework ダウンロード

    http://framework.zend.com/download/latest
    「Zend Framework Full Package」から Zend Framework 1.10 full をダウンロード
    ユーザー登録が必要。

    wget http://downloads.zend.com/framework/1.10.5/ZendFramework-1.10.5.tar.gz

    解凍する

    # tar -zxvf ZendFramework-1.10.5

    /usr/share/php 配下に移動する。

    # mv ZendFramework-1.10.5 /usr/share/php

    php.ini の設定

    include_path を設定する
    include_pathで検索して以下のパスを追記

    # vi /etc/php.ini
    ...
    include_path = “.:/usr/share/php/ZendFramework-1.10.5/library”
    ...
    

    Apache を再起動させる。

    参考:【Zend Framework】CentOSにインストールしてみた。