技術
2011年9月30日
さくらインターネットでPHPスクリプトをcronで実行する際の注意点
さくらインターネットの共用サーバー(私はスタンダードプランで確認)でPHPスクリプトをcronで実行する際、注意点がひとつあります。
cronの設定はコントロールパネルから簡単にできますが、実行するプログラムを指定する際、
/usr/local/bin/php スクリプトフルパス
で設定しないとプログラムが実行されません。
コマンドラインのくせで
php スクリプトフルパス
なんて入力してしまうとハマってしまいます。
2011年9月25日
Javascriptでformをsubmitするとエラーになるはまりやすい問題
フォーム実装時、Javascriptでボタンを押したときの処理をした後にsubmit()をコールすることはよくあると思いますが、たまに
document.form_name.submit is not a function
というJavascriptの不可解なエラーメッセージがでることがあります。
このエラーがでる時は大体Javascriptは間違っていないことが多いので、ハマりやすいところです。
原因は、submitという名前がどこかで使われているためです。
例えばフォームボタンのタグをみてみると
<input type=”submit” name=”submit” />
なんてことが多いです。
解決は以下です。
<input type=”submit” name=”ここをsubmit以外に変更する” />
おそらくDreamweaverでデザイナーさんがデザインを作るとき、フォーム名を適当につけるのか、デフォルトで着いてしまうのだろうと思いますが、これが原因で悩むことが多いのでちょっと困りますね。
何回もハマるのでメモしておきます。
2011年9月16日
facebookの「いいね!」を押すと投稿内容が文字化けする
あるサイトの修正依頼がありました。
facebookのシェアボタンを押すとリンクの内容が文字化けするということでした。
ソースをみていたら原因がわかったので修正して確認したところ、問題なさそうだったのでこれで終わり・・・と思ったらまた文字化けが。
調べていくと、シェアもいいねでも文字化けすることまで判明。
最初はシェアの問題かと思ったけど、いいねでも同様の現象が発生することも確認。
さらに調べると、ページタイトルをちょっと変えても反映されないので、facebookの方でキャッシュしているところまで判明。
そこで調べると、以下のようなデバッグツールがあり、ここにURLをキャッシュを再生成するということでした。
http://developers.facebook.com/tools/debug
URLを入力してページ内容が表示され、その後facebookのシェアボタン、いいねボタンからリンク情報をみるとようやく文字化け解消。
ある環境でしか発生しない現象は本当にややこしい。
ちなみに環境はWordpress・WP Social Bookmarklet Lightという環境でした。
2011年4月21日
Movable Typeで本文とかカテゴリーが表示されなくなった
MT3→MT4へ移行する機会があり、問題なく移行ができたと思った最終確認時、投稿済みのデータを編集しようとしたらタイトルしか表示されない現象が。
データベースを確認するとカテゴリーも本文もちゃんと登録されているので原因がまったくわからず。
よくみるとブラウザエラーが発生していたので確認。
以下はIEで確認したエラー。
Web ページ エラーの詳細
ユーザー エージェント: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; ・・・)
タイムスタンプ: Thu, 21 Apr 2011 02:24:23 UTC
メッセージ: 書き込みできません。
ライン: 30
文字: 9
コード: 0
URI: http://example.com/mt/mt-static/html/editor-content.html?cs=UTF-8
さっぱりわからなかったので「メッセージ: 書き込みできません。 movable type」で検索してみると、どんぴしゃの記事を発見。
「MT使用者にありがちなミス「クロスドメイン制約」」(うぇぶ銀座)
http://www.webginza.com/diary/200906270157.html
↑ありがとうございます。
これをみて一発で治りました。
修正した内容は、mt-config.cgiの中のCGIPathにwww.がついていなかっただけ。
わかればたいしたことないんだけど、これはハマった。
2011年4月7日
dom_import_simplexml()が未定義?
Fatal error: Call to undefined function dom_import_simplexml() in /xxxxxx.php on line 230
こんなエラーが出た。
dom関係のモジュールがなさそうなのでyumでインストール。
yum install php-dom
service httpd restart
簡単に解決できてよかった。