Feb 16

pear コマンド alpha、beta バージョンのインストール方法

0

なんだかたまに詰まる pear コマンドの使用方法。
まれに、依存性の関係やらなにやらで、beta が必要になる時があります。

以下コマンドで普通にインストールすると、stable 版がインストールされてしまいます。
(例として、パッケージを phpdocumentor とします)

> pear install phpdocumentor

それを回避したい場合は、以下の様にコマンドを打つことで回避できます。

beta バージョン

> pear install phpdocumentor-beta

alpha バージョン

> pear install phpdocumentor-alpha

わかっちゃえば簡単なんですが、ついつい引っかかったりしちゃうんですよねぇ…

<<追記>>
ホント無知であれなのですが、予め以下のコマンドを打っておくと、-beta 無しで行けるようです。
(stable ではなく、開発途上バージョン[beta等] を優先する)

>pear config-set preferred_state beta

Feb 6

東プレの問い合わせフォーム

0

ちょっと前、一部のキーボードマニアの間で有名な東プレのホームページの問い合わせフォームより一つの質問をした。

3 週間近く経ったいま、未だ返事を頂くことが出来ない。

内容は、あるキーを傷つけてしまったので、1つのキーだけで購入することは出来るのか?またその場合の金額は?
ってたったそれだけの内容である。なのに、未だに返事はない。

ネット上に問い合わせフォームはおいたものの全く内容は確認されてないのであろうか。
web 制作会社に進められるまま作ってしまったもののメンドクセーから放置なのであろうか。
自分でも問い合わせしたことを忘れてしまいそうだ。

別に電話して聞けばいいじゃんと思うが、それもなんだか今更感がある。
ただの愚痴なのだが、好きなメーカーだけにちょっと悲しい。

自分もクライアント様の意向で web サイト構築の際に、よく問い合わせフォームを作成する。
客の立場にたって考えると、返事がこないこと程悲しいことはない。

web サイト作って納品してしまえばそれでいいではなく、運営方法までうまく指導しつつ上手なサイト運営を推進して行かなければと改めて思った出来事だった。

Jan 31

PSP Firmware 2.5 over でも、自作ソフト動作? [GTA Exploit]

0

なんだかんだ言っても非常におもしろそうな PSP Hacks 。

当初はファームウェア 1.5、2.0(1.5にダウングレード) でないと動かせなかったはずの自作ソフトが、2.5 以上でも動作させる事が出来るようになったそうです。

必要になるのは、

ソフトは海外版なので購入するのは難しいのでは…と、ちょっと躊躇してましたが、楽天で購入出来る店舗を発見したので、売り切れないうちに即購入致しました。

また、PSP は海外版のソフトも動作するらしく普通に遊ぶことも出来るので、普通に GTA シリーズが好きな人なら、二度お得かもしれません(w

PSP をひたすら追いかけている Hacker Fangita に敬意を表しつつ、久々にプログラマとしての血が騒ぎます。

Grand Theft Auto : Liberty City Stories

Jan 25

Amazon ECS 日本語チュートリアル

0

を、いまさらながら見つけた(2005年8月バージョン)。

Amazon.com XML Developers

この下の発言の中に、pdf へのリンクが張ってある。

ちなみに、英語のオフィシャルドキュメントは以下 URL。

http://www.amazon.com/gp/browse.html/?node=3487571

Jan 25

PHP5 の fgetcsv() で読み込み内容が腐る現象

5

こんどは、PHP5.1.2 の fgetcsv() ではまった…

fgetcsv() で読み込もうとする csv ファイルの文字コードと、PHP の内部文字エンコーディングが違う場合、fgetcsv() で読み込むと、どうしても文字が腐る …
(PHP4 時代[少なくとも 4.3 系統は]は、問題なかった)

【以下みたいな場合】

  • CSV: Shift_JIS (Windows の Excel で作成されることを想定するとこれ)
  • PHP内部コード: UTF-8 (最近は自分プロジェクトはこれで統一している)

で、試しに、CSV のエンコードを UTF-8 にして試すと、うまくいんだよなぁ。

色々調べると、PHP5 からどうやらロケール? に左右されるらしい… (参照URL: PHP-devML)

ただ、上記 ML のスレッドでも解決方法(いや解決してないようだが)を試しても、やっぱりダメ。
なら、PHP を ShiftJIS にすればいいじゃん!と思ったが、さすがにそれはプログラマとしてするわけにはいかない。

なので、そもそもバグなのかはわからないけど、いずれ修正されることを期待しつつ、今回も力業で取り急ぎの対処。以下、ソースコードと手順。

$buf = mb_convert_encoding(file_get_contents(”$CSV FilePath”), “utf-8″, “sjis”);
$fp = tmpfile();
fwrite($fp, $buf);
rewind($fp);

手順としては、

  1. CSV ファイルを一度読み込む
  2. 文字コードをコンバート
  3. テンポラリファイルを作成
  4. コンバートした内容を書き込む
  5. 書き込んだファイルの、ファイルポインタを先頭に戻す
  6. で、fgetcsv で読み込みを行う

これでうまくいった。
コード+4行で動作するのならば、まーいいかな…とは思うけど、相変わらず泥臭い対処方法だと思う。

Jan 23

設定間違いでアクセス不能時の対処方法…

3

WordPress。いろいろいじっていたら、早くもはまる。

管理画面の中の WordPress URL 設定を、間違ってアクセス出来ない URL に設定…
(そしたらホントにアクセス出来なくなった!)

そこで焦ってしまい考えついた方法は、DB の直接書き換え。

WoredPress を設定した、MySQL の中を show tables コマンドで確認すると以下のテーブルがある。

  1. wp_categories
  2. wp_comments
  3. wp_linkcategories
  4. wp_links
  5. wp_options
  6. wp_post2cat
  7. wp_postmeta
  8. wp_posts
  9. wp_usermeta
  10. wp_users

まあ、この辺りは見るからに、wp_options がクサイので、そこから調べたらビンゴ。

色々調べていくと、wp_options は汎用的な作りになっていることがわかり、どうやら

option_id = 1 → WordPress URL
option_id = 40 → WordPress Blog URL

に URL が保存されていることが判明。

なので以下 SQL を直打ち。
(WordPress の URL と、Blog の URL が同じ場合)

UPDATE wp_options SET option_value = ‘<<正しいURL>>’ WHERE option_id IN (1, 40);

んで、書き換えられていることを確認。

SELECT option_id, option_value FROM wp_options WHERE option_id IN (1, 40);

その後、ブラウザから確認。
でも、なんと、それだけではアクセスが出来ない…

数分間悩み仕方ないので、ソース読み始めたところ、そしたらまあなんのことはない、WordPress の仕組みとして、DB の内容をファイルにキャッシュしていることがわかったのでその内容を手動削除。
(デフォルトのままだと、[InstallDir]/wp-content/cache/ 以下)

ふー、それでやっとアクセス出来るようになった。

それにしても、我ながら泥臭い方法すぎる。もっとスマートな方法が無いと復旧できない人いそう。
でも、そもそもこんなしょーもないミスする人なんていないような…

Jan 19

PHP fgetcsv() 改行コード

1

PHPでファイルを読み込む際、改行コードが、[CR]の場合、どうしてもうまくいかん…前はうまくいっていたのに。と悩むこと少々。

ちょっと検索かけたところ、マニュアルに記述発見。
どうやら、PHP自体の設定で、区分けしているようだ。

PHPマニュアル::ファイルシステム関数

最近(それとも昔から?)は、わざわざ別設定として、読み込む際に、明確に区別していたんですね。

パフォーマンスの問題でしょうか?
ヘンなコード書いちゃう前に設定探せて良かった。

やはり、PHP はマニュアルがいい。

※ ちょっとテストも兼ねて以前別 blog に投稿していたのを再掲。

Jan 19

テスト投稿。

0

日本語表示は問題ないかな?

 Page 10 of 10  « First  ... « 6  7  8  9  10