Pear / Composer
PHPlot ファイル動作確認-2
ここまで、PHPlot ファイルの動作確認をしてきました。
引き続き、動作確認をしていきます。
php ファイルが動作するディレクトリとして
/var/www/html/vboxsf
があります。
ここに phplot-tofile.php をおいて動作するか検証します。
実はこのままでは動かないのです。
vendor/autoload.php
が見つからないのです。
phplot-tofile.php
の最初の行
require_once 'vendor/autoload.php';
を次のように変更する必要があります。
require_once '/home/yamada/public_html/vendor/autoload.php';
このようにすることによって autoload.php を見つけることができます。
修正したファイルは
c:\vbox-html
に保存します。
ファイル名は phplot-tofile-1.php とします。
文字コ-ドは、UTF-8N
BOM なし
改行コ-ドは、LF
です。
なお、
c:\vbox-html
はゲスト OS Ubuntu のなかの
/var/www/html/vboxsf
とリンクしていて共有フォルダの関係にあります。
ホスト OS のフォルダと Apache のフォルダの共有
を参照してください。
ブラウザのアドレスバーに
http://localhost:8080/
vboxsf/phplot-tofile-1.php
と入力して、画面に折れ線グラフが表示できれば動作確認は完了です。
Composer パッケ-ジ設置場所
ここまで、Composer パッケ-ジ設置場所を WEB 公開ディレクトリにしてきました。
これは最適なのでしょうか。
WEB 公開ディレクトリ abcd-1 と abcd-2 があって
abcd-1 では A-パッケ-ジ-1版
abcd-2 では A-パッケ-ジ-2版
を使用するケ-スでは最適ですね。
しかし、どちらのディレクトリも同じ版数のものを使いたいとすれば、同じパッケ-ジを
両方のディレクトリに置くか、
またはオ-トロ-ドする際、前例のように長ったらしい require_once 命令を書く必要があります。
それならば、どちらのディレクトリからもすぐ見えるディレクトリに
Composer パッケ-ジを設置すればよいことになります。
まさしくこれは Pear と同じ考え方です。
Pear は
usr/share/php/PEAR
に置かれています。
だったら、Composer パッケ-ジも
usr/share/php/
に置けばよいことになります。
このときの問題点は、どのディレクトリに置かれた PHP ファイルも
同じ版数の Composer パッケ-ジが適用されることです。
Composer PHPExcel はアップデ-トが終わった枯れたパッケ-ジです。
このように、版数が変わることがないのであれば、
usr/share/php/
に置いて一律に適用するのがよいと考えるのは当然です。
ここに Composer パッケ-ジを入れるには、当然 sudo 命令が必要なのですが
実行してみると root 権限を使ってインスト-ルしてはいけないと警告が出ます。
しかし実際は、インスト-ルできてしまいます。
でも、よく考えてみると Composer パッケ-ジは安全なものばかりとはかぎらないですよね。
登録した人が安全と思ってもセキュリティホ-ルがあるかもしれません。
よって、root 領域にはインスト-ルするべきではないようです。
と言うことで妥協して、版数管理を考える必要のない Composer パッケ-ジは
ユ-ザエリアの最上位に入れてどこのユ-ザディレクトリからも
平等に見える場所にいれることにします。
以下に具体例を示します。
PHPExcel のインスト-ル
PHPExcel は枯れたパッケ-ジで新たなアップグレ-ドも予定されていないものです。
一般には代わりに phpoffice/phpspreadsheet を使用するよう推奨されています。
Packagist 検索サイト
に行くと検索画面が出ますのでここにパッケ-ジ名 を入れてみてください。
「phpexcel」と入れて「Enter」キ- を押せば excel 関連のパッケ-ジ
がでてきます。
ちなみに IE では見付けることがきできません。
Chrome 等で検索してください。
この時、最初に出てくる phpoffice/phpexcel をインスト-ルします。
この PHPExcel を使用すると Excel2007 等のエクセルファイルを
PHP ファイルの中で読書きすることができます。
PHP と Excel の橋渡しをしてくれるのです。
PHP と CSV の橋渡しをしてくれる PHP 関数はあるのですが
Excel と連携ができる PHP 関数はないので利用価値は高いです。
インスト-ルディレクトリは、ユ-ザディレクトリの最上位
/home/yamada/ とし、どこのユ-ザディレクトリからも
平等に見える場所にいれることにします。
Ubuntu ディスクトップ画面から端末画面を開きます。
開いたとたんすでにここは /home/yamada/ です。
yamada@ubuntu-18:~$
composer require phpoffice/phpexcel
Enter を押してインスト-ルを開始します。
しばらく黙りこくって死んだふりになります。
かなり時間がかかって(10分ぐらい)インスト-ルが完了します。
ついでに autoload ファイルも作成されました。
各ファイルは /home/yamada/ の中に下記のように構成されました。
/home/yamada ├ composer.json ├ composer.lock └ vendor ├ autoload.php ├ composer └ phpoffice └ phpexcel └ <ライブラリ・・・>
ここまでで、PHPExcel のインスト-ルまでが完了しました。
引き続き、PHPEexcel パッケ-ジの動作確認をしていきます。