$Id: setup_licensekey.html,v 1.9 2009-01-15 07:33:41 cz Exp $
日本語マニュアルの「0 PDFlib ライセンスキーの適用」にある通り、license パラメタを指定してライセンスキーを設定するだけです。
$p = PDF_new(); PDF_set_parameter($p, "license", "L999999-999999-999999");
licensefile パラメタを指定してライセンスファイルを設定します。
$p = PDF_new(); PDF_set_parameter($p, "licensefile", "/usr/local/lib/pdflib_license.txt");
/usr/local/lib/pdflib_license.txt の中身は下記です。2CPU以上の機器で使用するためにライセンスキーが複数個ある場合には上記のライセンスキーをプログラム中で直接指定する方法では設定できないため、必ずライセンスファイルで指定する必要があります。
PDFlib license file 1.0 # Licensing information for PDFlib GmbH products # 先頭が「#」の行はコメントなので、何を書いても大丈夫です。 # 下記は 6.x.x の形であれば、6.0.2 だろうが 6.0.9 だろうが通ります。 PDFlib 6.0.1 L999999-999999-999999 PDFlib 6.0.1 L000000-000000-000000
注意:環境変数で設定する場合、Apache 等パッケージのアップデートにより起動スクリプト等が入れ替えられてしまい、急に「www.pdflib.com」のロゴが表示される(ライセンスキーが設定されていない)というトラブルが考えられますので、プログラム中でライセンスキーもしくはライセンスファイルを設定することをお薦めします。
以前は環境変数 PDFLIBSERIAL に直接ライセンスキーを指定できたはずですが、現在はマニュアルにも記載が無く、また指定しても無視されるようです。
環境変数 PDFLIBLICENSEFILE にライセンスファイルの場所を指定するだけです。通常のプログラム言語の場合は問題無いでしょうが、Apache の場合にどのように設定すればよいのか疑問の人が多いようです。シェルとプロセス、環境変数の関係は別途適当な Unix 関係の書籍を参照して頂くとして、簡単な設定方法は Apache の起動スクリプトに追加してしまう方法です。下記に代表的な例を挙げます。
なお tomcat の場合には Apache で環境変数を設定してもしょうがないので、tomcat/bin/tomcat.sh の適当な場所で下記のように環境変数を設定します。
export PDFLIBLICENSEFILE=/usr/local/lib/pdflib_license.txt
Redhat 系
/etc/init.d/httpd の適当な場所に追加します。 # Path to the apachectl script, server binary, and short-form for messages. apachectl=/usr/sbin/apachectl httpd=/usr/sbin/httpd prog=httpd RETVAL=0 export PDFLIBLICENSEFILE=/usr/local/lib/pdflib_license.txt
Debian 系(Woody)
/etc/init.d/apache NAME=apache PATH=/bin:/usr/bin:/sbin:/usr/sbin DAEMON=/usr/sbin/apache SUEXEC=/usr/lib/apache/suexec PIDFILE=/var/run/$NAME.pid CONF=/etc/apache/httpd.conf APACHECTL=/usr/sbin/apachectl export PDFLIBLICENSEFILE=/usr/local/lib/pdflib_license.txt
Debian 系(Sarge Apache2)
/etc/init.d/apache2 #!/bin/sh -e # # apache2 This init.d script is used to start apache2. # It basically just calls apache2ctl. ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin PDFLIBLICENSEFILE=/usr/local/lib/pdflib_license.txt
ソースファイル(1.3.33)
$PREFIX/bin/apachectl # |||||||||||||||||||| START CONFIGURATION SECTION |||||||||||||||||||| # -------------------- -------------------- # # the path to your PID file PIDFILE=/usr/local/apache/logs/httpd.pid export PDFLIBLICENSEFILE=/usr/local/lib/pdflib_license.txt
ソースファイル(2.0.54)
$PREFIX/bin/envvars export PDFLIBLICENSEFILE=/usr/local/lib/pdflib_license.txt
Windows 版 PHP では、PHP 側の制限により拡張モジュールに対しては、実行する PHP スクリプトのパスとは無関係にApache をインストールしたディレクトリがカレントディレクトリになります。つまり、純粋に PHP プログラミングの世界では PHP スクリプトの場所がカレントディレクトリとなりますが、PDFlib 等拡張モジュールのカレントディレクトリは常に固定値となります。
そのため、ライセンスファイルへのパスを指定する時には下記のように絶対パスで指定する必要があります(相対パスの場合、"htdocs/licensefile.txt" かな?)。
PDF_set_parameter($p, "licensefile", "C:\Program Files\Apache Group\Apache2\htdocs\licensefile.txt");
| 2006/03/13 | tomcat での環境変数設定方法を追記 |
| 2005/08/23 | 初期リリース |