2010/11/29

oscommerceのalterをPHP5 Mysql5に書き換え

そろそろサーバーの方もphp5とMysql5を推奨してきているので
コチラも対応してゆかないと面倒だ。
サーバーで利用出来るバージョンは
  • Mysql5.077
  • PHP5.1.6推奨
  • PHP5.2.14
  • PHP5.3.3
どうせなら一番最新のバージョンでトライしようと思う

DBの文字コードは特に海外向けということもないのでEUCのまま。
UTF-8化はmb_stringとかややこしいのでそっとしておく。

こうなると基本的に直す箇所は2カ所。

DBにクエリを送っている箇所で left join を使用しているところ。
これのfromからleft joinを括弧でくくってやる。
left joinで探すと修正すべきファイルが羅列される。

account_history.php
advanced_search_result.php
checkout_process.php
default.php
products_new.php
product_reviews_info.php
product_reviews.php
popup_image.php

includes/classes/order.php
includes/modules/featured.php
includes/functions/general.php
includes/boxes/manufacturer_info.php

admin/languages.php
admin/orders.php
admin/products_attributes.php
admin/orders_csv.php
admin/customers.php
admin/includes/functions/general.php
admin/geo_zones.php
admin/edit_orders.php
admin/popup_image.php
admin/tax_rates.php

あとはsmartyでアサインしている箇所も修正が必要
まあフォルダ検索で共通の文字_smarty_objでリストアップして
ファイル検索で 『$this->』を『$』で全て置き換え。

$this->h_smarty_obj  → $h_smarty_obj
$this->smarty_obj   → $smarty_obj
$this->box_smarty_obj → $box_smarty_obj
$this->np_smarty_obj  → $np_smarty_obj
$this->fe_smarty_obj  → $fe_smarty_obj
$this->f_smarty_obj  → $f_smarty_obj

PHP5.3.3で使ってみると
Function session_is_registered() is deprecated
というエラーが出る。
セッション関連の関数が変わっているようなのだが
これもそっとしておいて一つバージョンを下げる方が手間が省ける。
チェックもしないといけないし。

ということでPHP5.2.14に落ち着く。

2010/11/18

macでバックスラッシュ

macで改行やエスケープ時に使うバックスラッシュを入力するとき
option/alt押しながら¥マーク。

いつも忘れる。

戻ってきたmacbook pro

先日macbook proの画面がスリープから立ち上がらない状態に、、
電源は入り、立ち上がっている様子だが画面が映らない。

考えられる操作をいろいろ試した上で反応がないのでジーニアスバーへ。

診断の結果ロジックボードがお亡くなりになられた模様、
修理の金額を聞いて、ちょっとお金を足せば最新のmacbook proが買えるので
一旦持ち帰りいろいろ調べてみると、どうやらこの症状は既知の問題で
タダで修理してくるという件を発見!

wiki=>ビデオ回路の初期不良
apple=>Macbook Pro ビデオ画像が歪む、またはビデオが表示されない問題

2008年の1月に入手したモデルで 2.2G Core2Duoの15inchなので該当している。
けど30数万出して買ったものが2年経たないうちに画面が映らなくなるなんて、
これで修理代がかかるとかになったら本当にあり得ない。

アップルが嫌いになりかけていました。

再びジーニアスに持っていって、リペアエクステンションプログラムのことを伝えて
無償で治るのであれば治してください、有償で修理をする際は連絡をくださいね。
と伝えて修理に預ける。

連絡が無いので電話してみると、『治ってますよ』
とのこと、念のため『無償で治ったんですね!?』と確認すると
『いえ、有償で修理されています』
『?、勝手に治したの??手違いだと思うからお店に行きます』
と伝えてジーニアスへ。

結局手違いだったとういうことで無償修理で戻ってきました。
嫌いになりかけてたアップルコンピューターがちょっと好きになりました。

2010/11/16

iphone iosをダウングレード

iphone 3Gにうっかりios4を入れて電話としての機能が調子悪くなったのでios3にダウンする事にした。ios4.1にすれば重たい状態がなくなるかと思いアップグレードしたが、ios4.0よりは軽く動くようになったものの電話としての機能が最低レベルに。

電話がかけられない、電波状態が良いのに電話が取れないなど。
あとSMSメッセージがたまに送れないなど。

まずする事は

iPhone OS 3.1.3 のファームウェアを探す


mac上のファームウェアの在処は「/ユーザー/ライブラリ/iTunes/iPhone Software Updates」のフォルダの中に、「iPhone1,2_3.1.3_7E18_Restore.ipsw」とか「iPhone1,1_3.1.3_7E18_Restore.ipsw」があるはず。
自分の場合は3GなのでこいつをDL!
3.1.3 (3G): iPhone1,2_3.1.3_7E18_Restore.ipsw

無ければiClarified - iPhone - Where To Download iPhone Firmware Files Fromにリリースされた iPhoneのすべてのファームウェアがあるので、そこからダウンロードする。
*ダウンロードするファイルに機種(3Gか3GS)の種類があるので間違えないように。

ついでにRecBootもダウンロードしておきます。iPhone OS 3.1.3にダウングレード後、
最後の起動の時に使います。

iPhoneをDFUモードにする


ファームウエアとRecBootを用意したらiPhoneをDFUモードに。
  • iPhoneをmacに接続する
  • スリープ/ロックボタンを数秒押して、iponeの電源を切る
  • スリープ/ロックボタンとホームボタン両方を10秒ほど押す
  • スリープ/ロックボタンから指を離し、ホームボタンだけそのまま押し続ける


「iTunesはリカバリモードのiPhoneを見つけました。」
というメッセージが表示されれば成功です。

表示されない場合は、接続するところからからやり直し。
※DFUモードに入ってるiPhoneを元に戻すには、
スリープ/ロックボタンとホームボタンの両方をしばらく押すと解除されます

iPhone OS 3.1.3にダウングレードする


復元しますか?みたいなメッセージのOKボタンをクリックし、
iTunesの「デバイス」の下にあるiPhoneを選択。
そして、alt/optionキーを押しながら復元ボタンをクリック
*alt/optionキーを押していないと普通にios4のソフトに復元される。

ituneのバージョンが古いと復元する際に『出来ません』となるので
ituneは最新版にアップデートしておきます。



復元が終わったら、エラーメッセージ(error 1015)が表示され(error 1015)、
iPhoneが「iTunesと接続」というスクリーンを表示して、立ち上がる。

ここでRecBootを使う


DLしたRecBootを開くと、2種類のappがあるので Exit Recovery Modeをクリックすると、
数秒でダウングレードした『3.1.3』で、iPhoneが立ち上がる。

これで工場出荷時の状態に戻ったので、あとはデータのバックアップからの復元
ios4以前のバックアップを探してバックアップ。無ければちーん。

詳しくはライフハッカーのページを参照のこと。