これは結構大きいPHPのプロジェクトに composer を導入する機会があったので、そのときに考えてたことや行ったこと、使い方などをメモするために書いた。 モチベーション 私達は PHP のパッケージの管理を管理する際は pear と git submodule を利用していた。これらのやり方は意外と長続きした。これらにはついて様々な問題を抱えており、ついに限界がきてしまった。 pear pear でパッケージを導入するには root 権限が必要なので、毎回インフラチームに導入を依頼するのが必要があった。 pear で導入されたパッケージについてバージョンを上げようとすると、全APサーバーで更新をかける必要があった。 これらの点から面倒だったのと、気軽に変更できないので、不要になったものも削除されることなく、放置されるのが問題だった git submodule こちらは pear とは異
PHPUnitのインストールメモ オチから言うと,ちゃんとsebastianbergmann/phpunit - GitHubのInstallationを最初に読んでやりましょう.ということで以下まぬけな失敗ログ. % sudo pear channel-discover pear.phpunit.de Adding Channel "pear.phpunit.de" succeeded Discovery of channel "pear.phpunit.de" succeeded phpunitのチャンネルを追加して,installを実行. % sudo pear install phpunit/PHPUnit Unknown remote channel: components.ez.no Did not download optional dependencies: channel
開発の全工程の中で、あまり人気がないのがテスト工程だ。ソフトウェアの品質を証明するためのテストは、なぜ低く見られてしまうのか(編集部) xUnitという名称のテスティングフレームワーク 第1回「ユニットテストはなぜ必要なの?」では、ユニットテストの必要性を解説しました。今回は実際にテスティングフレームワークを使用して、テスト駆動開発を進め、その必要性と重要性を体験してみましょう。 ユニットテストを自動化するためのテスティングフレームワークは多くの言語で提供されており、JavaのJUnitや、Visual BasicのVBUnit、RubyのRubyUnit、PerlのPerlUnitなど、言語名を接頭辞にした「〜Unit」という名称のテスティングフレームワークが主流です。これらはたまたま名前が似ているというわけではなく、最初のユニットテストツールであるSmallTalk用のSUnitが基に
WEBサービスで使えるPEAR以外で有名なPHPモジュール総まとめ 「WEBサービスを作るなら最低限覚えておきたいPHPのPEARモジュールまとめ」というエントリで先日PEARの便利ライブラリについてまとめたのですが、今回はPEAR以外でも有名なライブラリをご紹介。 PEAR以外で挙げていくときりがありませんが、とりあえず有名どころや、私の知っている物、過去に当ブログで紹介したものをまとめてみます。 他にも便利な物や定番の物がありましたら、@phpspot_kj までTwitterなんかで教えてください。 グラフ描画 JpGraph ありとあらゆるグラフを描画してくれる有名なグラフライブラリ。 pChart グラフにデザイン性を求める場合に使えるクールなグラフ描画ライブラリ PHP/SWF Charts PHPでグラフをFlashで描画出来るライブラリ。グラフに動きを出してインタラクティブ
sendまね〜る は sendmail互換のスイッチを持つメール送信プログラムである。 sendmail を使う UNIX用 CGIを、Windows上で実行したいときに、sendmane.exeを使わない手はない。 ただし、sendまね〜る はメールサーバではなく、あくまでもメール送信プログラムなので、メール送信するためには自分のアカウントがあるプロバイダの SMTPサーバか、あるいは自前の自宅メールサーバが必須である。 以下では、sendまね〜る をインストールし、その使い方について解説する。 ダウンロード ダウンロード先は なおきの部屋 の「ダウンロード」である。 http://hypweb.net/xoops/modules/mydownloads/singlefile.php?cid=1&lid=1 最新バージョンは 2006/06/02 にリリースされ
それではまずMailパッケージをインストールします。コマンドプロンプトを起動してから次のように入力して下さい。 pear install -a Mail 実際に行った結果は次のようになります。 2007年6月現在の最新バージョンはMail 1.1.14となります。 また添付ファイルのメールを送信する際に便利なMail_MIMEパッケージも合わせてインストールしておきます。次のように入力して下さい。 pear install -a Mail_MIME 実際に行った結果は次のようになります。 2007年6月現在の最新バージョンはMail_MIME 1.4.0となります。 パッケージの情報を確認すると次のように表示されます。 D:¥>pear list Mail INSTALLED FILES FOR MAIL ======================== TYPE INSTALL PATH
WindowsのPHPにPEARをインストールする。(go-pear.batが含まれていない場合。) PHPにPEARをインストールすることになったが、手元のPHP5.3.9、PHP5.4 系ではc:\php\にgo-pear.batが含まれていない。 PEARのマニュアルを見ると、インストール方法が記載されていた。 PEAR パッケージマネージャの取得とインストール http://pear.php.net/manual/ja/installation.getting.php PEAR インストールのアップデートを行うには、 http://pear.php.net/go-pear.phar をブラウザで表示してその出力をローカルファイル go-pear.phar に保存します。 そして次のコマンドを Windows のコマンドプロンプトで実行してください。 php go-pear.phar
PHP 5.3.5 on Windows における PEAR インストール時のエラーについて PEAR (PHP Extension and Application Repository) という PHP ライブラリ提供サービスを利用することで、PHP の各種ライブラリーを手軽にインストールすることができるようになっています。 以前に PHP 5.3.0 を利用していた時は EZ-NET: Windows 環境で PEAR を利用できるようにする で記したようにして PEAR を利用する環境を作ることができたのですけど、PHP 5.3.5 にインストールし直してからは、PEAR をインストールしようとしてみると、次のようなエラーが発生してしまうようになりました。 Below is a suggested file layout for your new PEAR installation.
include_path とは include_path には、require()、include()、 fopen()、file()、 readfile() および file_get_contents() 関数がファイルを探すディレクトリのリストを指定します。つまり、インクルードパスで指定されたディレクトリ内のファイルは、相対 URL や絶対 URL をつけずにファイル名だけで呼ぶことができます。 例えば、include_pathが librariesで、カレントの ワーキングディレクトリが /web_dir/ の 場合、include/a.php を読み込んで、そのファイルの中に include "b.php" と書いてあったとすると、 b.php がまず /web_dir/librariesで探され、その後、 /web_dir/include/で探されます。 ファイル名が ./ ある
PHPでのHTTPアクセスを超簡単に行える「PEAR::HTTP_Request」。 HTTP_Request は、PHPユーザの方ならご存知の方も多いと思いますが、WEB上にコピペですぐ使えるサンプルが無かったので作ってみました。 単純にHTTPリクエストを行うなら、PHPなら、file 関数や file_get_contents で1行でできてしまいます。 (php.ini にて allow_url_fopen=Onにした場合のみ) ただ、タイムアウトの秒数を設定したり、リダイレクトされた場合の処理や、HTTPリクエストする際のヘッダーなどの指定はカスタマイズ出来ません。 HTTP_Request ならそれが次のように簡単に行えます。 <?php // リクエストを行うURLの指定 $url = "http://〜"; $option = array( "timeout" => "10
明日から12月ですね、ichikawaです。 今年はサンタさんに「足専用湯たんぽ」をお願いするつもりです。 今回は今さらかも知れませんが、先日マニュアルを読む機会があったので「PEAR::MDB2」をご紹介します。 PEAR::MDB2は、PEAR(PHPのライブラリ)のパッケージの1つで、PHPからDBを扱う際などに使用します。 PEAR::DBをお使いの方もいらっしゃるかもしれませんが、現在はこちらの「PEAR::MDB2」が推奨されています。(参考記事:まだ、PEAR::DBをお使いの方へ) インストール PEAR::MDB2のインストールは以下の通りです。 お使いのDBの種類によって適切なドライバもインストールして下さい。 pear install MDB2 MySQLの場合 pear install MDB2_Driver_mysql PostgreSQLの場合 pear ins
PHPからDBを使うときにはPEAR::DBをお使いの方もまだたくさんいらっしゃると思います。しかし、PEAR::DBのマニュアルにも「This package been superseded by MDB2 but is still maintained for bugs and security fixes」(このパッケージの代わりにMDB2の使用が推奨されますが、バグの修正、セキュリティフィックスは引き続き行われます。)と書かれているとおり、今後はPEAR::MDB2をお使いになることをお奨めいたします。 ということで、今回はPEAR::MDB2についてご紹介したいと思います。 PEAR::MDB2 マニュアル http://www.go-pear.org/manual/ja/package.database.mdb2.php MDB2についてはこちらをご覧下さい http://ww
レンタルサーバでpearを使おうと思ったが、自分が使っているロリポップだとpearが使えない。 使えないというかロリポップだとpearは使用できるけど、古いバージョンなんですね。 そこで自分でpearのインストールを行うことにした go-pear.phpを使い自動インストールしようと思ったが、自分の環境の場合だと失敗する。 セキュリティモード関連のエラーが表示されるので、諦めて手動で導入することにした。 手動の方法など 自分のローカル環境で動いてるPEARフォルダをそのままルートにアップロード。 これを読み込みさえすれば使用可能です。 次にinclude_pathを設定します。設定方法は3つあります。 php.iniで設定 .htacessで設定 phpファイル自体で設定 ただしロリポップはphp.iniが一部しか編集できません。 そこで.htaccessで設定しようと思う ま
ロリポップにpearをインストールしたいと思います。 ロリポップはPEARをインストールする権限が与えられないですが ブラウザ経由でならインストールすることができます。 ここからソースコードをDLします。 名前を付けて保存なり、コピペなりして保存してください。 名前に意味があるかは分かりませんがgo-pear.phpで保存すればいいと思います。 サーバーに適当なディレクトリを作成してファイルを保存してください。 (自分はCacheとしました) ブラウザでhttp://ドメイン名/保存ディレクトリ/go-pear.phpに アクセスするとインストール画面がでます。 後は適当に進めます。 自分はここでエラーが出てしまいました。 index.phpの8行目に問題があるみたいです。 8行目 $pear_dir = ‘@pear_dir@’; // default of install
私が初めてPEARの本家サイトを見た時に、使用出来るライブラリの数に驚きました。 しかし、PEARは基本的にTelnetなどでサーバーに接続してインストールする方法が主流の為、レンタルサーバーでは使用出来ないことが多いです。最近のレンタルサーバーでは最初から付いてることもありますが、メジャーなものしか使えないのでマニアック?なライブラリが使えない等の問題が発生します。 まあ、早い話がPEARが使えるかどうかは環境に依存するってことです。 今回は、PEARがインストールされてない共用サーバーでこのライブラリを使う方法をご紹介します。 方法は2つあります。1つは「.htaccess」を使用する方法。2つ目は「ini_set」関数を使用する方法の2つです。 ただし、このやり方はPEAR本家サイトでも推奨されていないので、出来る限りインストールするようにしましょう。 PEAR本家サイト
まずは基本。 header('Content-Disposition: attachment; filename="hoge.txt"'); header('Content-Type: application/octet-stream'); header('Content-Transfer-Encoding: binary'); header('Content-Length: '.strlen($buf)); print $buf; ファイルになってるやつをダウンロード。 header('Content-Disposition: attachment; filename="'.basename($filepath).'"'); header('Content-Type: application/octet-stream'); header('Content-Transfer-Encodin
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く