‘PHP’タグの記事 一覧

PEARでAmazon APIの違いを吸収 August 17, 2009
Rating: 2.5
No Comments

昨日からAmazon Product Advertising APIに一本化され、旧バージョンがサポートされなくなった。

予備期間の間に警告メールが来ていたので、適切に移行できているのか不明だったが、どうやら問題なかったようだ。

偶然、CoreServerが長時間障害を起こしていたため一時は失敗したかと思った。

移行作業じたいはPEARのServices_Amazonを利用して10分ほどで終わっていた。 認証部分のキーを書き換えただけで、既存のコードがほぼそのまま動いている。

PEARのリモートインストール May 23, 2009
Rating: 2.5
No Comments

PHPライブラリ”PEAR”は、pearコマンドを用いて依存性の解決を含めたパッケージ管理を行うことができる。

さらにPEAR_RemoteInstallerというパッケージを用いることで、リモートサーバもメンテできる。

処理の流れ

パッケージ管理はローカルマシンで行なう。依存性を解決したライブラリが一度ローカルで構築される。 リモートサーバにはFTP(SFTP, FTPSも使える)で転送されるだけなので、セーフモードなどの制約を受けることがない。

必要なソフト

ソフトウェアはローカルマシンにセットアップしておく。 まずPEARが必要。ubuntuの場合、sudo apt-get install php-pearなど。

次にsudo pear install PEAR_RemoteinstallerでRemoteinstallerパッケージをインストールする。 pear remote-install などのリモート系サブコマンドがうごけばOK。

設定ファイル作成

これが分かりづらい。 共有ホストでの PEAR のローカルコピーのインストール(phpプロ)の「PEAR 1.4.3 以降と PEAR_RemoteInstaller を使う改良インストール法」手順4~6の通りではあるが、補足が必要だろう。

まず、ローカルマシンにワーキングディレクトリを作る。 ワーキングディレクトリに移動して、ローカルマシンに置く設定ファイル(ここでは”remote.conf”)を生成する。

$ pear config-create /ワーキングディレクトリのパス remote.conf

次に、リモートサーバに置く設定ファイル(ここでは”.pearrc”)を生成する。

$ pear config-create /アップロード先のパス .pearrc

アップロード先のパスで指定した位置に最終的なPEARライブラリがインストールされる。 pear config-createコマンドによって、remote.confと.pearrcはローカルマシンのカレントディレクトリに生成される。

ここで、.pearrcは、FTPでリモートサーバのどこかにアップロードする。

さらにFTPアカウント情報と.pearrcの位置を下記のコマンドでremote.confに書き込む。

$ pear -c remote.conf config-set remote_config ftp://user:pass@myremotehost.com/.pearrc

  • -c remote.confが書き込み先の設定ファイル指定。ここでは、ローカルマシンのカレントディレクトリのremote.conf
  • remote_configは、設定ファイル中の変数。設定される値は最後の引数(ftp:~)
  • 最終引数のuser:passは、FTPアカウントのログインIDとパスワード。myremotehost.comはFTPサーバ。/.pearrcは、.pearrc設定ファイルのアップロード先に合わせて設定。

リモートインストールコマンド

設定ファイルを配置し終われば、remote-installコマンド一発でPEARパッケージをリモートインストールできるようになる。

$ pear -c remote.conf remote-install -a Services_Amazon-beta

などのように使う。FTPクライアントで接続すれば、指定した場所にファイル一式がインストールされているかを確認できる。

LLフレームワーク周辺動向2007夏 August 10, 2007
Rating: 3.5
No Comments

Railsが話題になってからかなり経つ。 何か作ろうかと思っていながら準備が面倒で何もしていない。

といってその間にRailsが普及するでもなく、注目されてはいるがあまり使われていないような印象が強くなってきたので、まずは「Railsで開発して大丈夫か?」という点を中心にフレームワークの現状を簡単に調べてみた。 続きを読む… »

PHPの配列の中身を表示する関数 July 22, 2007
Rating: 3
No Comments

var_dump($array)(jp.php.net)を呼ぶと配列の中身を簡易構造のテキストで表示できる。 でかい多次元配列の構造を知りたいときなどに使うと便利。

もっと綺麗に整形したい場合は、var_dumpを見やすく(ヲゾゾ)で紹介されているdBugや、var_dumpの結果を見やすく整形する[Pear::Var_Dump](bnote)で紹介されているPear::Var_Dumpなどがあるらしい。 Pearはインストールが面倒なので、dBug(ファイル1つインクルードするだけ)の方が使いやすそうな気がする。

それはそうと、PHPの標準関数は想起しづらいネーミングで覚えにくくて困る。

LAMP代替環境への感想 June 4, 2006 No Comments

Alternatives to LAMP(informit.com)という記事がdigg.comで話題になっている。

LAMPといえば、Linux+Apache+MySQL+PHPといったところで、このサイトもLAMP上で動いている。 冒頭の記事では、このそれぞれの代替ソフトウェアとそれぞれの特徴を紹介している。 続きを読む… »

Services_AmazonのキャッシュをXREAでも使いたい手順 May 30, 2006 No Comments

Amazon ECSの自前アプリケーションをPEARのServices_Amazonを使って書き直した。 PHPのアプリケーションを作ろうとするとことごとくしんどいXREAではあるが、なんとかCGIモードにすることなくキャッシュを有効にして動かすことができた。

一般的にセーフモード環境でキャッシュを使うための方法とも言える。 続きを読む… »

XREAにPEARをインストールできた May 29, 2006 3 Comments

ローカルPCからFTPでリモートインストールする方法は失敗したのだが、Webインストーラのgo-pearを使ったインストールに成功した。

要するにインストール時のみCGIモードで動くように設定すれば大丈夫だった。 続きを読む… »

PEARのリモートインストール手順 May 27, 2006 1 Comment

PHP拡張ライブラリのPEARをXREAにインストールしようとしているのだが、非常にうまく行かない。 ベストを尽くして直す余地のないところまで作業したのだが、最後の最後でダメっぽいので手順だけまとめてあきらめようと思う。

手順は、共有ホストでの PEAR のローカルコピーのインストール(PEARマニュアル)の「ftp/ftps/sftp を使ったローカルコピーのインストール」の項目に一通り載っているのだが、まずこのマニュアルが情報不足で何の作業してるんだか全然分からないので困ってしまう。 続きを読む… »

MostwantedプラグインをPHP5で動かす May 24, 2006
Rating: 2.5
No Comments

このサイトのアクセスランキングを表示するために、Mostwantedというプラグインを使用しているのだが、PHP5の環境に移行したところ、エラーが表示されて動作しなくなった。

いい加減に調べてみたところ、PHP5ではクラスメソッドとして書いてあるものはnewしないとエラーになるような感じ。Partial PHP5 Fix to Rich Boakes “Most Wanted” Pluginという記事を参考にした。

もともとmostwantedプラグインのマニュアルには MostWanted::mostwanted(); のように使えと書いてあるのだが、PHP5では new Mostwanted(); のように使うのが正しい模様。 先ほどのリンク先記事では違う呼び出し方をしているのだが、それだとコンストラクタを2度呼んでしまう(ということだと思う)。 オプション指定したい場合はnew Mostwanted()の引数として指定すれば良い。

PHP5は割と普通にオブジェクト指向だな、と実感した瞬間。

Amazon ECSようやくテスト完了 March 2, 2005 No Comments

Amazon ECSもSimpleXMLで解決とか思ってたが、実はぬか喜びだった。SimpleXMLはPHP5.x系の新機能で、lolipop(いま使ってるレンタルサーバ)は4.x系だった。 もはや行き着くところまで来てしまったので、XMLで、とかいうカッコ良いアプローチは当面断念して、正規表現のフィルタープログラムに決めた。「フィルターはプログラミングの王道だー」とか開き直るしかない状況。 ITmediaの記事を参考にXMLを取得するところまでは済んでいるので、そこからヘロヘロと2時間くらい粘ってHTMLコードを整形できるところまで来た。 レイアウトを多少直したら次の書評から投入予定。見た目インパクトない割にはえらく時間がかかったなぁ。