Linux実践講座

Linux実践講座

コンピュータを便利に使う tips などをメモ

ロリポップ(チカッパ) perlのcgiが500エラー

読了までの目安時間:約 2分

とりさんです。

perl で書かれたアプリケーションをロリポップの
チカッパ・プランのレンタルサーバにインストールしようと
したら

ERROR 500 INTERNAL SERVER ERROR...

と表示され、途方に暮れていました。

googleで検索したら、同じような境遇の方々が沢山いました。

パーミッションが違う

とか

perl への path が /usr/bin/perl or /usr/local/bin/perl
だとか、色々とネットに書かれていました。

原因は改行コードでした

ロリポップはLinux系サーバなので、perlで書かれたソースの
改行コードを「LF」に変更したら、無事に動作しました。

OSによって改行コードが違うのが原因でした。

Windows CR+LF (\r + \n)
Mac CR (\r)
Unix LF (\n)

linuxを使っている場合は

 nkf -w -Lu --overwrite hogehoge.cgi

で改行コードをLFに変更。
Windowsを使っている方は、TeraPadでCGIファイルを開き、「ファイル」→「文字/改行コード指定保存」を実行して、改行コードを「LF」で指定します。

参考URL
●->CGI でなぜか perl のパスが通らないとき

Goutte ライブラリでスクレイピング PHP

読了までの目安時間:約 2分

Goutteライブラリを使ってWebスクレイピングをする。

goutte.phar(グート)を使うと短いソースコードで簡単にスクレイピング出来ますね。

google API が使えなくなったので、google検索結果 上位10件が表示されたページのHTMLソースから直接、必要な部分(件名、URL、詳細)を抜き出して多次元配列にストアしました。

あまりにも簡単にスクレイピング出来てしまったので、これからスクレイピングするなら goutte を使うようにしようと思いました。

Goutteライブラリ=>https/github.com/fabpot/goutte
ダウンロード先:http://get.sensiolabs.org/goutte.phar

include_pathに配置

https://www.google.co.jp/search?ie=UTF-8&q=ほげほげ+へろへろ

参考URL
●->WebスクレイピングライブラリGoutteで遊んでみる - hnwの日記

●->ziadoz / scrape.php https://gist.github.com/ziadoz/3344345

●->Goutteを使用してHTMLを解析する方法

保存場所 自宅サーバ/(program)/get_google.php

simplexml_load_file() PHP

読了までの目安時間:約 2分

simplexml_load_file() でxmlファイルを読込む。

get_object_vars()

foreach (配列変数 as キー変数 => 値変数){
実行する処理1;
実行する処理2;
}

$preflist = array('Tokyo' => '東京', 'Osaka' => '大阪');

foreach ($preflist as $key => $value){
  print $key.'=>'.$value;
}

多次元配列を foreach文で扱う場合は foreachのネストをつかう。

foreach( $hoge as $key1 => $val1 ) {
    foreach( $val1 as $key => $value ) {

        print $key . ":" . $value . "
\n"; } }

自宅サーバ(programs)news_test.php 保存

php strtotime() 日本時間 9時間足す?

読了までの目安時間:約 1分

ほげほげから rss を取得して表示する。

「あれっ、9時間づれてるー」

って事で、date_default_timezone_set('Asia/Tokyo'); を一行追加で解決。

ぃやー、無駄に9時間足すプログラムを作らなくてよかったぁ。
 

参考URL
PHPにおける時間表記のISO-8061、DATE_ATOM、DATE_RFC3309、DATE_W3Cの違いは何か
感謝です。

firefox javascriptが無効になったので有効にする

読了までの目安時間:約 1分

普段使っている ubuntu の firefox の JavaScript が勝手に無効に設定されてしまった。

wk

1 ロケーションバーにabout:config を入力
2 検索窓に javascript.enabled を入力
3 表示された javascript.enabled をダブルクリック

以上で firefox で JavaScript が有効化されました。

FireFox で右クリックができなくなって、

「何故なんだろう?」

と焦ってしまいました。

いろいろと調べて、やっと原因がJavaScriptが無効だとわかり、
JavaScript を有効化しようと思ったら、方法がわからず....。

googleで検索してやっとJavaScriptを有効にする方法をみつけました。

記事にしてくださった方に感謝です。

google news からニュースを取得する

読了までの目安時間:約 1分

http://news.google.com/news? からニュースをrssでニュースを取得したけれど...。

description 部分が tableタグなどごちゃごちゃしていて使いにくい。

コツコツと preg_match_all関数などで切り出して....。

ここらへんは、一度作っておくと色々と使いまわせるので...。

作ったプログラムは自前サーバに保管 "(programs)/get_news_google.php"

正規表現 最短マッチ

読了までの目安時間:約 2分

* とか + の後ろに ? を付けると最短マッチになります。

余計な半角or全角スペースを含まずに抽出することが出来るようになります。

正規表現のデフォルトは最長マッチになっているので、
最短マッチで抽出したいときは *? +? と ? をつけます。

「*?」は「0回以上のくり返し(最短一致)」

「*」は「0回以上のくり返し(最長一致)」

正規表現 最短マッチ

gmail from差出人のメールアドレスを変更して送信する

読了までの目安時間:約 3分

gmailで送信する時に差出人を別のメールアドレスに変更して送信する

gmailでメールを送信する時に、hoge@gmail.com からではなく
hoge@hogehoge.com といった差出人のメールアドレスを使える
ようにする 。

メールアドレスを追加する

PCのWebブラウザーでGmailにログインし、画面右上の
歯車アイコン
をクリックして[設定]を選び、Gmailの設定
画面を開く。
次にメールアドレスを追加するウィザードを実行する。

[check_list image="check1-b"]

  • PCのWebブラウザーでGmailにログインする
  • 画面右上の歯車アイコンをクリックして[設定]を選ぶ
  • メールアドレスを追加するウィザードを実行する

[/check_list]

別のメールアドレスを追加
[check_list image="check1-g"]

  • 差出人の名前を入力する
  • 差出人のメールアドレスを記入する
  • チェックを外してオフにする
  • 次のステップ ボタンを押す

[/check_list]

[check_list image="check1-o"]

  • SMTPサーバ経由で送信します を選ぶ
  • SMTPサーバのサーバ名、ポート、ユーザー名およびパスワードを入力
  • TLSかSSLかSMTPサーバとの接続プロトコルを選択する
  • アカウントを追加 ボタンを押す

[/check_list]

上記で追加したメールアドレスを差出人にしてメールを送信する

差出人のメールアドレスを変更するには、メール起稿の画面で、
「From」に表示されたメールアドレスをクリックし、表示され
たリストから対象のメールアドレスを選ぶ。

●->Gmailで差出人を別のメールアドレスに変更して送信する
 

フィリーフォントを使う

読了までの目安時間:約 1分

$ sudo fc-cache -f -v

/usr/local/share/fonts/ディレクトリ

●->第39回 フォントの活用

WordPress プラグインでスライドショー

読了までの目安時間:約 2分

WordPressでスライドショーが出来るプラグインを作ろうと思って
googleで検索してみたら、すでに使いやすいプラグインがあったので
それを使わせていただく事に決定。

WordPress Content Sliderプラグインを使ってスライドショー

●->スライドショープラグインの動作確認ページ

●->Easing Slider “Lite


ページ内投稿の場合は [easingsliderlite] を記述。

Easing Slider Lite は、レスポンシブWEBデザイン対応、WordPress Content Slider は未対応でした。

スマホ、タブレットのこれからの利用率を考え Easing Slider Lite を選択しました。

参考URL
●->レスポンシブにも対応した超絶簡単フリー(無料)のWordPress用スライドショープラグイン「Easing Slider ”Lite”」

無料メルマガ登録
最近の投稿