【Linux】firewalldを有効にして必要なポートだけ開放する

まずは起動

現在解放されているポートを確認

例)ポート80を解放

例)ポート80を閉じる

設定を適用

【Linux】セマフォ不足の確認と解消方法

Apacheの起動に失敗したら
error.logを確認

こんなエラーが出たら

セマフォを使い切っているので、
以下のコマンドでセマフォを解放する

ipcs -s | awk ‘/apache/{print $2}’ | xargs -r ipcrm sem

※「apache」の部分はApache起動ユーザー名

【PHP】cronでWEBアクセスと全く同じ動作を行いたい

ブラウザで動作するWEBシステムで、
使用しているプログラムをcronから呼んだらうまくいかない、
WEBアクセスしたときと結果が違う、
ということはないでしょうか。

cronからPHPをコマンドで実行した場合、
環境変数などの実行環境がWEBとは異なるため
全く同じ動作を行う保証がなく、予測しにくい不具合を生みます。

そこで私は、バッチ処理などでcronからphpを呼ぶ場合は
wgetを使っています。

こんな感じでwgetを呼ぶシェルをcronにセットするだけです。

batch.sh

これでWEBアクセスと同じ動作を行わせることができます。

重複実行防止処理はphp側で行っています。
もし時間のかかる処理ならwgetのオプションにタイムアウトの指定をします。

【Linux】PDFから文字を抽出する pdftotext

PDFから文字を抽出というと、OCRという技術が必要なイメージですが、
紙をスキャンしたPDFや、画像から生成したPDFなどではなく
文字を抽出できるタイプのPDFの場合、もっと簡単な方法があります。

pdftotextというコマンドを使用します。

たとえばAcrobatやWord、Excelなどから作成したPDFなら
これだけでテキストが抽出できます。