Parse error: syntax error, unexpected T_DNUMBER in /var/www/***

PHP

レアエラーメッセージでました。 T_DNUMBER… 見覚えないなぁと思いつつググるも日本語情報が無いようなので、メモしておきます。 単純に $version = 5.3.3; のように少数点を複数使う場合は、quotationが必要なようです。 こんな数字フォーマットはないので…

PEAR::Mail::send()の第二引数$headerについて

PHP

PEARパッケージのMailクラスを使い、メール送信する基本形 '127.0.0.1', 'port' => '25', 'auth' => false, 'username' => '', 'password' => '', 'persist' => TRUE, // TRUE:配信毎に接続を切らない。 ); $headers['From'] = $from; $headers['To'] = $to…

historyコマンドのカスタマイズ

特定のコマンドは履歴に残らないように設定したり、 日時を表示させたり vim .bashrc export HISTIGNORE="exit:ls:history:history *:cd:cd *:pwd" export HISTTIMEFORMAT='%y/%m/%d %H:%M:%S ' とりあえず、lsやpwdなんかは要らないかな(ワイルドカード*も…

PEAR::DBのプレースホルダー「!」の注意点

PHP

SQL文のプリペアドステートメントにある「!(エクスクラメーション)」これは以下参照サイトにあるようにプレースホルダのようだが、 プレースホルダには以下の3種類があります。? --- クォート処理する文字列 ! --- クォート処理しない文字列 & --- バイナ…

unserialize() [function.unserialize]: Error at offset

PHP

シリアライズされた値をunserializeしようとしてエラーになることがある。 unserialize() [function.unserialize]: Error at offset エスケープの問題の例もあるが、 このエラーは単純なeasyミスです。シリアル化したときにエスケープ文字が含まれているかど…

tar: メンバ名から先頭の `/' を取り除きます

タイトルはエラーメッセージ文言です。 (例) tar -czf /var/log/access_log_`date '+%Y%m%d'`.tar.gz /var/log/httpd/access.log のようにアーカイブを実行しようとしたとき、 tar: メンバ名から先頭の `/' を取り除きますとメッセージが出ることがありま…

指定した長さに文字列を丸める - mb_strimwidth()

PHP

以前も同じようなことをやったのだけれど、 たしかそのときは、substr()やらstr_replace()やら使って処理した気が。 Smartyにはプラグイン関数ありましたよね。 以前からあったのか知りませんでしたが、一発で解決するPHP関数があるそうな。 string mb_strim…

URLの形式、全角カナValidationチェックのメモ(正規表現)

PHP

例) ■URL

access_logデータ抽出もろもろ

Apacheのアクセスログで・ロードバランサの問題でログの中身の時間がバラバラ→「ちゃんと時系列に&時間帯を指定」 ・かつ同一IPでUniqに絞りたい ・かつページURLにxxxを含む ・かつページURLにyyyを含まない という条件を満たしたく ※ログフォーマットのデ…

IEでinnerHTML、selectとらないとか

「IEはselectやtextareaに対してinnerHTMLが利かない。」そんなことはつゆ知らず。 二つのSELECTタグの中でOPTIONタグを相互に行き交うフォームを作ったところ、 IEでは全く動いていなかった。 というわけで解決策 HtmlElement.OuterHtml プロパティ http://…

初期ロード処理 $(document).ready(function(){ fugafugaaaaa})

$(document).ready(function(){}) おまじないのように使っていますが、 正確には、DOMツリーの読込が終わった後に、準備させておきたい処理を記述しておきます。なお、以下は全く同じsynonymだそうで $(function(){ }); 別の人がjsの部分だけ弄ったりすると…

ORDER BY … LIMIT処理を最適化する

数万行のテーブルをORDER BYしているSQLが遅い。EXPLAINすると「Using Filesort」の文字が。「Using Filesort」とは、テンポラリファイルを使ってソートしようとしているとの説明なので、INDEXでFetchできれば解決します。ところが、 MySQL で ORDER BY の解…

日付の単位をずらしてデータを整形する(DATE_FORMAT関数を使用)

帳票出力で、日の始まりをPM00:00としたいとき、 DATE_FORMAT()関数のformat指定子%rによって午前中か午後かを識別し、午前中であれば前日の日付に変換する。あとは日付でGROUPBYして出力例) $sql = "SELECT COUNT(*) AS cnt, SUM(price) AS sum, CASE SUBS…

日付を増減させるタイムスタンプライクな操作

たとえば、 form1の一日後をform2に表示させたいとき JKL.Calendar.prototype.setFormValue = function (ymd) { if (! ymd ) ymd = this.getDateYMD(); var form1 = this.getFormElement(); if ( form1 ) form1.value = ymd; if ( this.formwith ) { var for…

郵便番号のValidate ⇔ php-jsonインストール

PHP

■郵便番号入力値にチェックをかける場合例えば、地域限定で商品を購入してもらう条件で、購入者の郵便番号によってはじきたいことなどがある。JSON形式の郵便番号データが用意されているので、PHPからそれを使用したいときは、php-jsonモジュールがインスト…

coalesce関数

SELECT coalesce(sum(column),0) as price FROM table WHERE id = ? のようなSQLにて、coalesceという関数が使われている。 COALESCE(list)リスト内の最初の非 NULL 要素を返す。mysql> SELECT COALESCE(NULL,1); -> 1 mysql> SELECT COALESCE(NULL,NULL,NUL…

ファイルのタイムスタンプで検索

ファイル名で検索かけるfind -name '*.ext' はよく使いますが、ファイルの更新日時で探したい場合もあります。 find ./ -type f -mmin -60 -ls 60分以内に更新されたファイルを検索 オプション説明 mmin *分指定 mtime *日指定 newer *基準ファイル指定 …

テーブルのインポート・エクスポート

MySQLにてテーブルインポートする際、コマンドオプションの並び順によってはエラーになった。 $ mysqlimport -h host名 DB名 Table名.txt -u user名 -p Enter password: mysqlimport: Error: Access denied for user 'user'@'%' (using password: YES), when…

AuthMySQLモジュールによる認証

データベース(MySQL)を参照して認証する方法 httpd.confで設定する # yum -y install mod_auth_mysql モジュールをインストールした後は、Apacheの再起動が必要 認証用のテーブルが存在するならば、.htaccessにディレクティブを記述 AuthMySQLEnable On Au…

sshのKeepalive

外部ネットワークから社内サーバにssh接続をする際、しばらく操作しないでおくと、ネットワークが切断されることがある。emobileではなぜか平気。ルータが一定時間パケットの流れないコネクションを接続断と判断し、 NATテーブルをクリアする設定になってい…

perl-Net-SSLeayについてメモ

Webminをインストールする際に、インストールが必要な「perl-Net-SSLeay」yumで簡単にできるが、これはどういったライブラリなのかを調べたメモ - SSLeayはNetscapeのセキュアソケットレイヤー - Netscapeセキュアサーバーやナビゲーターのソフトウェア暗号…

mbox 形式とMaildir形式

メールボックスのロケーションは2つ■mbox 形式 1ユーザにつき1ファイルにすべてのメールが格納される。 1ファイルなので、複数のプロセスが同時にメールボックスを処理するとファイルが壊れる恐れがある。 そのため排他制御を行なう必要がある。Sendmail…

switch文でcaseにintとbooleanを混ぜない

PHP

ハマりがち。理由は以下のため。 注意: switch/case が行うのは、 緩やかな比較 であることに注意しましょう。

Webアーキテクチャ設計の基本を学ぼう3(パフォーマンス編)

コンセプトパフォーマンスの問題は可用性の問題と混同しがちだが,技術的にはまったく別の問題であることに注意(要件を聞き取るときには,両者を混同しないように整理する)パフォーマンスの指標として 「レスポンス時間」 「スループット」 「同時リクエス…

Webアーキテクチャ設計の基本を学ぼう2(可用性編)

可用性の向上・理論編 Webシステムはサーバー無しでは何もできない“サーバー頼み”のシステムである。そのためWebシステムを構築する際には,サーバーの「可用性(availability:サービスを継続して提供する能力)」について,十分な検討が必要となる。 ・可…

Webアーキテクチャ設計の基本を学ぼう1(HTTP編)

Webサーバをレプリケーションするにあたって、Webアーキテクチャの基本からおさらいしようと思い、ITproの連載記事を、自分なりにわかり易くまとめてみることにしました。基本中の基本ですが、意外に抜けてる部分も多いです。 ■情報システムの主な基本アーキ…

Remember the Milkを使ってみる

物忘れがひどくなってきたのと、記憶力に頼るのがだんだんストレスになってきたので、タスク管理ツールを使う。仕事ではtracを使っているが、プライベートなら、やはりRTMなのかなと思い、早速アカウントを作成https://www.rememberthemilk.com/慣れるまで時…

スーパーサーバ型デーモンxinetd

imapやrsyncなどのスクリプトはxinetdによって制御したほうがよいとのこと。 以下に概要をメモ xinetd の概要 xinetd は、Turbolinux 11 Server が実装しているスーパーサーバーです。 スーパーサーバーとは、他のサーバープログラムを管理/制御し、必要に…

service hoge does not support chkconfigエラー

chkconfigリストに新規スクリプトをaddしたときに出るエラー起動スクリプトの先頭に下記コメントが記述されていないことが原因# chkconfig: - 80 30数字は左から、ランレベル、起動の優先順位、停止の優先順位 ※【chkconfig概要】 起動スクリプトを管理する…

bash: fork: Cannot allocate memoryエラー

外出先からVPSサーバにアクセスする際に、メモリのallocationでエラーが頻発 困るので、原因を探ってみると、privvmpagesに問題ありどうだとのこと。・privvmpagesパラメータで、アプリケーションで割り当てらるメモリ容量を制御するつまるところ、下記コマ…