差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

php:phd_install [2016/05/02 20:31]
katsubemakito ↷ phd_install から php:phd_install へページを移動しました。
php:phd_install [2017/12/14 20:18]
ライン 1: ライン 1:
-====== [PHP] 公式ドキュメントを生成する ====== 
-~~socialite~~ 
  
-[[https://​secure.php.net/​manual/​ja/​index.php|PHPの公式ドキュメント]](マニュアル)は環境さえ用意すれば自分でビルドすることができます。 
- 
-[[http://​www.docbook.org/​|DocBook]]と呼ばれる仕組みが採用されており、HTML以外にも様々なフォーマットに出力できるため、例えばPDFやePubを生成し、KindleやiBooksなどの電子書籍リーダーで閲覧することも可能です。 
- 
- 
-===== phdのインストール ===== 
-PHPのドキュメントを生成するコマンド「PhD」のインストールを最初に行います。PEARが利用できればそれほど難しくはありません。 
-<​code>​ 
-$ pear channel-discover doc.php.net 
-Channel "​doc.php.net"​ is already initialized 
- 
-$ sudo pear install doc.php.net/​phd_php 
-Did not download optional dependencies:​ phpdocs/​PhD_PEAR,​ phpdocs/​PhD_IDE,​ use --alldeps to download automatically 
-phpdocs/​PhD_PHP can optionally use PHP extension "​haru"​ 
-phpdocs/PhD can optionally use package "​phpdocs/​PhD_PEAR"​ 
-phpdocs/PhD can optionally use package "​phpdocs/​PhD_IDE"​ 
-phpdocs/PhD can optionally use PHP extension "​haru"​ 
-phpdocs/​PhD_Generic can optionally use PHP extension "​haru"​ 
-downloading PhD_PHP-1.1.10.tgz ... 
-Starting to download PhD_PHP-1.1.10.tgz (26,240 bytes) 
-.........done:​ 26,240 bytes 
-downloading PhD-1.1.10.tgz ... 
-Starting to download PhD-1.1.10.tgz (47,401 bytes) 
-...done: 47,401 bytes 
-downloading PhD_Generic-1.1.10.tgz ... 
-Starting to download PhD_Generic-1.1.10.tgz (29,362 bytes) 
-...done: 29,362 bytes 
-install ok: channel://​doc.php.net/​PhD_Generic-1.1.10 
-install ok: channel://​doc.php.net/​PhD-1.1.10 
-install ok: channel://​doc.php.net/​PhD_PHP-1.1.10 
-</​code>​ 
- 
-<​code>​ 
-$ phd --version 
-PhD Version: 1.1.10 
-        Generic: 1.1.10 
-        PHP: 1.1.10 
-PHP Version: 5.5.9-1ubuntu4.14 
-Copyright(c) 2007-2016 The PHP Documentation Group 
-</​code>​ 
- 
-===== ドキュメントのソースを取得 ===== 
-<​code>​ 
-$ svn co http://​svn.php.net/​repository/​phpdoc/​modules/​doc-en phpdoc-en 
-</​code>​ 
- 
-上記だと英語のドキュメントになる。日本語のドキュメントがほしい場合は、''​http://​svn.php.net/​repository/​phpdoc/​modules/​doc-ja''​ をcheckoutする。 
-===== ドキュメントのビルド ===== 
-phd用の.manual.xmlを生成する。生成が完了したら''​ctrl+c''​で終了する。 
-<​code>​ 
-$ cd phpdoc-en 
-$ php doc-base/​configure.php 
-configure.php:​ $Id: configure.php 337463 2015-08-14 23:54:15Z cmb $ 
-PHP version: 5.5.9-1ubuntu4.14 
- 
-Checking for source directory... /​home/​ubuntu/​phpdoc-en/​doc-base 
-Checking for output filename... /​home/​ubuntu/​phpdoc-en/​doc-base/​.manual.xml 
-Checking whether to include CHM... no 
-Checking for PHP executable... /​usr/​bin/​php5 
-Checking for language to build... en 
-Checking whether the language is supported... yes 
-Checking for partial build... no 
-Checking whether to enable detailed XML error messages... no 
-Checking libxml version... 2.9.1 
-Checking whether to enable detailed error reporting (may segfault)... yes 
-Checking whether to optimize out the DTD (performance gain, but segfaults)... yes 
-Generating /​home/​ubuntu/​phpdoc-en/​doc-base/​manual.xml... done 
-Generating /​home/​ubuntu/​phpdoc-en/​doc-base/​install-unix.xml... done 
-Generating /​home/​ubuntu/​phpdoc-en/​doc-base/​install-win.xml... done 
-Generating /​home/​ubuntu/​phpdoc-en/​doc-base/​developer.template.xml... done 
-Generating /​home/​ubuntu/​phpdoc-en/​doc-base/​scripts/​file-entities.php... done 
-Iterating over extension specific version files... OK 
-Saving it... OK 
-Creating file /​home/​ubuntu/​phpdoc-en/​doc-base/​entities/​file-entities.ent... done 
-Checking for if we should generate a simplified file... no 
-Checking whether to save an invalid .manual.xml... no 
-Loading and parsing manual.xml... done. 
-Validating manual.xml... done. 
- 
-All good. Saving .manual.xml... done. 
-All you have to do now is run 'phd -d /​home/​ubuntu/​phpdoc-en/​doc-base/​.manual.xml'​ 
-If the script hangs here, you can abort with ^C. 
-         _ _..._ __ 
-        \)`    (` / 
-         / ​     `\ 
-        |  d  b   | 
-        =\  Y    =/​--..-="​````"​-. 
-          '​.=__.-' ​              `\ 
-             ​o/ ​                /\ \ 
-              |                 | \ \   / ) 
-               ​\ ​   .--""​`\ ​   <   \ '​-'​ / 
-              //   ​| ​     ||    \   '​---'​ 
-         jgs ((,,​_/ ​     ((,,___/ 
- 
- (Run `nice php configure.php` next time!) 
- 
-^C 
-</​code>​ 
- 
-.manual.xmlを使用し、phdでドキュメントを生成します。後は待つだけです。 
-<​code>​ 
-$ phd -d doc-base/​.manual.xml -P PHP 
-</​code>​ 
- 
-環境によってはかなりの時間がかかります。また警告などが表示され心が休まらないかもしれませんが、気長に待ちましょう。 
- 
-もしお目当てのファイル形式がわかっているのであれば、''​-f''​で指定するのも手です。 
-<​code>​ 
-$ phd --help 
-  -f <​formatname>​ 
-  --format <​formatname> ​     The build format to use 
-</​code>​ 
- 
-===== 生成されたファイルを確認 ===== 
-ドキュメントはすべてoutputディレクトリに生成されます。 
- 
-<​code>​ 
-$ cd output 
-$ ls 
-index.sqlite ​       php-bigxhtml.html ​ php-chunked-xhtml/ ​ php-epub/ ​      ​php-howto/ ​   php-pdf/ ​     php-web/ 
-php-bigxhtml-data/ ​ php-chm/ ​          ​php-enhancedchm/ ​   php-functions/ ​ php-kdevelop ​ php-tocfeed/​ 
-</​code>​ 
- 
-===== トラブルシューティング ===== 
-==== PHP Fatal error: ​ Class '​HaruDoc'​ not found ==== 
-以下のエラーは、PDFを生成する際に使用するライブラリが存在しないために発生する。 
-<​code>​ 
-PHP Fatal error: ​ Class '​HaruDoc'​ not found in /​usr/​share/​php/​phpdotnet/​phd/​Format/​Abstract/​PDF.php on line 138 
-</​code>​ 
- 
- 
-[[http://​libharu.org/​|libHaru]]を公式サイトからダウンロードしインストール、その後PHPで利用するためにPECLで必要なライブラリを入れます。 
-<​code>​ 
-$ wget -O libharu.tar.gz https://​github.com/​libharu/​libharu/​tarball/​master 
-$ tar zxvf libharu.tar.gz 
-$ cd libharu-libharu-d84867e 
-$ ./​buildconf.sh ​   (./​configureが存在しない場合に実行。これで生成される) 
-$ make clean 
-$ make 
-$ sudo make install 
-$ sudo pecl install haru 
-</​code>​ 
- 
-以降は環境によって設定方法が異なりますが、コマンドラインでPHPの拡張機能を有効にする設定を行う。ここでは個別のファイルに書いていますが、php.iniへ直接書いてもOK。 
-<​code>​ 
-$ sudo vi /​etc/​php5/​mods-available/​haru.ini 
-extension=haru.so 
-$ cd /​etc/​php5/​cli/​conf.d 
-$ sudo ln -s ../​../​mods-available/​haru.ini haru.ini 
-</​code>​ 
-===== 参考 ===== 
-  * [[http://​doc.php.net/​phd/​docs/​|PhD:​ The definitive guide to PHP's DocBook Rendering System]] 
- 
- 
-===== 関連書籍 ===== 
-<​html>​ 
-<div class="​amazlet-box"​ style="​margin-bottom:​0px;"><​div class="​amazlet-image"​ style="​float:​left;​margin:​0px 12px 1px 0px;"><​a href="​http://​www.amazon.co.jp/​exec/​obidos/​ASIN/​4802610440/​ichikorocom-22/​ref=nosim/"​ name="​amazletlink"​ target="​_blank"><​img src="​http://​ecx.images-amazon.com/​images/​I/​51a01TalzOL.jpg"​ alt="​いまどきのアルゴリズムを使いこなす PHPプログラミング開発テクニック"​ style="​border:​ none;" /></​a></​div><​div class="​amazlet-info"​ style="​line-height:​120%;​ margin-bottom:​ 10px"><​div class="​amazlet-name"​ style="​margin-bottom:​10px;​line-height:​120%"><​a href="​http://​www.amazon.co.jp/​exec/​obidos/​ASIN/​4802610440/​ichikorocom-22/​ref=nosim/"​ name="​amazletlink"​ target="​_blank">​いまどきのアルゴリズムを使いこなす PHPプログラミング開発テクニック</​a><​div class="​amazlet-powered-date"​ style="​font-size:​80%;​margin-top:​5px;​line-height:​120%">​posted with <a href="​http://​www.amazlet.com/"​ title="​amazlet"​ target="​_blank">​amazlet</​a>​ at 16.05.01</​div></​div><​div class="​amazlet-detail">​クジラ飛行机 <br />​ソシム <br />​売り上げランキング:​ 220,​472<​br /></​div><​div class="​amazlet-sub-info"​ style="​float:​ left;"><​div class="​amazlet-link"​ style="​margin-top:​ 5px"><​a href="​http://​www.amazon.co.jp/​exec/​obidos/​ASIN/​4802610440/​ichikorocom-22/​ref=nosim/"​ name="​amazletlink"​ target="​_blank">​Amazon.co.jpで詳細を見る</​a></​div></​div></​div><​div class="​amazlet-footer"​ style="​clear:​ left"></​div></​div>​ 
-</​html>​ 
- 
-~~socialite~~ 
-{{tag>​PHP PhD DocBook}}