ホーム > カスタマイズ > Zen Cart

Zen Cartのアーカイブ

【最近の検索キーワード】zencart warning php5.3

きっと、これはZen Cartの問題ではなくPHP5.3の制限によるエラー表示があるのでしょう。

PHP5.3には推奨されない機能があり、それらを使用するとエラーが山ほど表示されます。

PHP 5.3.x で推奨されない機能

http://www.php.net/manual/ja/migration53.deprecated.php

自分のソースコードの中では使用していなくてもPEARを利用していると同じようにエラーがでることがあります。

ereg関数などはたくさん使用されていると思いますが、これを書き直すのは正規表現に慣れていないと面倒です。

そこで、

php.iniでは、

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

またはプログラム内で

error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);

とするとエラーが消えると思います。
(私はまだ試していません)

osCommerceのPHP5対応

PHPの開発チームは8月7日にPHP4.4.9をリリースした。セキュリティの向上やバグフィックスが主な内容だ。
問題はPHP4系はこれが最後のリリースになるということ。
http://www.php.net/archive/2008.php#id2008-08-07-1

PHP5系列は5.3 alpha1が8月1日にリリースされている。
PHPを使用している人はPHP4からPHP5に移行しなさいということになる。
先月あたりから、レンタルサーバのPHPのバージョンが次第にPHP4からPHP5に移行しはじめているようだ。
osCommerceやZen cartなどいま使用中のものはPHP4が多いので
急に動作しなくなったとか、自分で移転したら動作しなくなったというお客様からのメールも届くようになった。
あるレンタルサーバ会社に問い合わせたところ、共用サーバは一括して、専用サーバはセキュリティ上の問題が
出た時点でPHP5に移行してしまうということだった。

PHP4をPHP5に移行する場合、OSごとバージョンアップすることがある。この場合、MySQLも一緒にバージョン5になり、
修正しないといけない点がでてくる。SQLの記述方法で厳しくなっている箇所がありそこも修正する必要がある。
文字コードはUTF8が基本になるので現在EUCでosCommerceなどを動作させている場合は、PHPやMySQLで使用している文字コードが一致するように設定が必要になる。

本当は本家osCommerceがPHP5、MySQL5対応したものをリリースしてくれるといいのだが、
1年くらいそのニュースは途切れているので期待しないほうがいいのかと思う。
http://www.oscommerce.com/about/news

ロードマップや
http://www.oscommerce.com/community/roadmap

バグリポートを見ると
http://svn.oscommerce.com/jira/secure/IssueNavigator.jspa?reset=true&pid=10000&resolution=-1&fixfor=10000

少しずつ作業は進んでいるようだ。
もう少し技術力や英語力があればお手伝いしたいところだけど、
楽しみに待っているしかないようだ。

Zen cartはPHP5、MySQL5、UTF8対応のものが企業によって無償で提供されているので、
それを利用したほうが簡単。しかし、モジュールやテンプレートなどはバージョンが合わないことがあるので注意が必要だ。

SSLのディレクトリ

レンタルサーバのディレクトリ構造によってはSSLのディレクトリがDocumet Rootとは別になっていることがある。
通常のディレクトリとSSL用のディレクトリに、同じ内容のコンテンツを二重に置くためいろいろと問題が起きる。
最近、このような構造のサイトを運営される方からクレジット番号の送信時にSSLにならないというご相談を受けた。
よく聞いてみると購入されたお客様からの指摘で、クレジット番号が暗号化されずに送信されているということだった。
wiresharkを使ってパケットを確認したらしい。

すぐに上記の構造上の問題だと感じたが、モジュールの設定方法や、お客様の勘違いまでいろいろ想定できるので、
それなりの金額のお見積もりを送付した。数日返信がないので自力で解決されたのかもしれない。

このような構造のサーバのときはシンボリックリンクをSSLのディレクトリの代わりに設定するとDocumet Rootにコンテンツを置くだけですむので楽だ。SSHで接続できなくてもPHPからシンボリックリンクのコマンドを実行することで設置できる。

 

easypopulate ダウンロードできない

新しいサーバに移転したら一括更新に利用しているeasypopulateのダウンロード機能が動作しない。手元のパソコンで試すと正常に動作する。
サーバの設定が原因だと思いmemory_limitを64Mにしたが変化はなく、
試しに256MBにしたらダウンロードできた。

Zen Cart の復旧

データベース部分が完全になくなってしまったお客様のZen Cartの復旧をやった。
ここのところ取りかかっているZen Cartの移行と作業内容が似ていたためすぐに完了できた。

そのときに戸惑った点をメモ。
インストール機能を使わずに付属のSQLを流してテーブルを構築すると
いつものzen_がテーブル名に付かない。
接頭辞のzen_を各テーブル名に付けて再度やりなおした。
データも一緒に登録されているので、
この状態でユーザ名admin パスワードadminでログインできるはずだがログインエラーになる。
phpMyAdminで中を確認するとユーザ名がAdminになっている。
Admin adminでログインしてもログインできない。
試しに、ユーザ名のAdminをadminに変更してadmin adminとやると、
めでたくログイン成功、管理画面が表示された。

Zen Cart PHP5 エラー ログインできない

3ヶ月前に売り込みの営業メールを送付したところから電話がありました。
「データを削除してしまったがどうすればいいですか」というもの。
以前、古いデータで上書きしてしまったがどうすればいいかという相談がありましたが、
同様のアドバイスをして電話を切りました。

そもそもの原因は、レンタルサーバのPHPがPHP4からPHP5に変更されたため。
これまでPHP4で動作していたZen Cartが動作しなくなり、
対応のため操作をしている内に誤ってデータを削除してしまったということでした。

今後もバージョンアップにともなうトラブルが増えてくるものと予測しています。
当方でもMySQLのバージョンや文字コードを考慮して修正することができますが、
下記URLに情報がありますので、まずは対策をお考えになられるといいと思います。
http://zen-cart.jp/bbs/viewtopic.php?p=18081#18081

 

 

Zencart PHP5対応

ZencartのPHP5対応を実施しようと検討をはじめたころ、
無償でダウンロードできることを知りました。
http://www.bigmouse.jp/zencart_1.3.8a_ja_download.php

メールアドレスを登録するとダウンロード用のURLが送られてきます。
内部の文字コードはUTF8。
MySQLとの接続は内部でバージョンをチェックして判断するようです。
ありがたいことです。

Zen Cart 警告は60日で50000件ほど溜まります。

Zen Cartの 管理画面についてお客様から質問があった。
管理者の操作履歴を保存するアクティビティログテーブルについてだ。
ずっと警告がでているけれど大丈夫か、リセットボタンがあるが押してもいいかというものだった。

管理画面トップページに表示される警告文
「警告: 管理人のログ記録は、設定を2ヵ月以上にすることをお勧めします。」

ソースコード上で確認したが、設定する場所などなかった。
そこで、原文にあたってみると下のようなものだった。
WARNING: The Admin Activity Log table has records over 2 months old and should be cleaned …
だいたい、こんな意味になると思う。
「管理者ログが、最初の記録から2ヶ月を越えたので、そろそろ整理してください」

ショップ管理ツール
「警告は60日で50000件ほど溜まります。」

この警告文も誤訳かな。
原文だとこうなる。
Warnings are given at 50,000 records or 60 days, which ever happens first.

だいたい、このような意味だと思う。
「データが50000件溜まったときか、使用を始めてから60日後のどちらかのタイミングでこの警告が表示されます。」

実際、コード上でも私の訳のように条件が設定されていた。
これを管理画面等でオフにする機能は見つけられなかった。

対策
無視しても大丈夫だし、(きっと50000件も溜まっていない)、「リセット」を押しても問題ない。
私の環境で試したところこのボタンを押すと管理者用のログのみが削除され、トップページの黄色い警告文は消えた。

osCommerce サーバ移転の春

レンタルしていた会社が倒産したり、サポートが終了だとかでosCommerceを移転させてほしいとう依頼が届くようになった。きょうも1件メールが届いた。ありがとうございます。
移転元と移転先の環境が違う場合、PHPやMySQLのバージョンによっては文字化けになやまされることになり、非常に面倒になる。サーバへの接続方法がFTPだけだと大量の画像の転送に時間がかかる。SSHが使えるサーバを使って欲しい。サーバ間で転送できるし、圧縮展開も思いのまま。SSLのディレクトリも重要。通常のドキュメントルートと同じところをさすように設定できるところがいい。共用サーバは、時間によって負荷が驚くほどかわるところもある。深夜はとくにチェックしたほうがいい。まったく動かなくなるところもあるから。解約がすぐできるよう返金保証付のところがいい。

 あれこれやって、引越しの日までに準備を整えて、時間がきたら、メンテナンス状態にして、登録や購入ができないようにする。それで最新のデータをデータベースから移動。新規サーバをいつでも動作する状態にしたところでDNSを切り替える。後は、ユーザが買い物できているか確認して終わり。

 レンタルサーバは制限が多いので上に書いたように簡単にいかないことが多くなった。
phpinfoでさえ見ることができないところもある。必要なコマンドもPHPのプログラム上から実行することさえあるが、肝心のコマンドがないサーバもある。何があるかわからないので安く引き受けられない仕事のひとつだ。

geeklogとWordPress on Zen Cart

お客様から何件か返信があり、geeklogを使っているということが書かれていた。
Zen Cartでページを作成するのに手間がかかるので、geeklogを利用されるという。

オープンソースCMS Geeklog
http://www.geeklog.jp/
サイトに情報があふれどこになにがあるのかわかりにくい。

WikiPediaで調べてみると特徴、欠点、設置条件が手短にまとめられていてわかりやすかった。WikiPediaを読んだ限りでは、テーマ(テンプレート)の部分に課題がありそうだ。

Geeklog – Wikipedia
http://ja.wikipedia.org/wiki/Geeklog

実は、Zen CartにはWordPressを追加できるようです。

WordPress on Zen Cart
http://www.s-page.net/index.php?main_page=product_info&products_id=50

フレームの中にWordPressのメニューが入り、WordPressのページ作成機能で、無制限にページを追加できるらしい。

最新のCMSやブログとosCommerceやZen Cartを連携させると文字コードの問題が心配になる。全部UTF8になってしまえば仕事がかなり楽になるのに。

ホーム > カスタマイズ > Zen Cart

Page 1 of 212
検索
フィード
メタ情報

ページの上部に戻る