Archives by date

You are browsing the site archives by date.

PHPにてgetaddrinfo failedにぶち当たった。

例えばfile_get_contentsでURLを指定した時。
sshからphpを叩くと正常に返ってくるのにapacheを通したブラウザから叩くと下記のようなエラーになる。

php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

これが調べたけど全然解決しない。ただ分かったことはDNSの名前解決周りでこけているであろうという事。

視点を切り替えapache、DNSといったキーワードで調べていると、HostnameLookupsをどうのこうのという記事を発見。
そこでhttpd.conf内にあるHostnameLookupsの項目を調査してみたところOffになっているではありませんか。
とりあえず下記のように設定をOnに変更しhttpdを再起動。

HostnameLookups On

するとapacheを介してもfile_get_contentsが動いた!やった!!けどクッソ遅い!!!なんで!!!!
再度調査開始である。今回はapache、遅い、で検索すると意外とすんなりヒット。
しかし見つけた記事はといえば、HostnameLookupsをOffにしろと書いているではありませんか。
いやいや、それやるとネットワークが外でていってくれないんすよ、とか思いつつとりあえずやってみる。

変更後httpdを再起動してアクセスしてみると、あれ?ちゃんと動いてる。しかも早い!なんで!!
エラー吐いて終わるだろうと予想していたのに、じゃあ最初の状態はなにがよろしくなかったんすかね…。

これがまれによくある気にしちゃいけないヤーツーである。
※原因が判明し次第まとめよう。笑

ExcelでIF文を入れ子にする。

メモ。

=IF(論理式, [真], IF(論理式, [真], IF(論理式 [真], [偽])))

各式の[偽]にもう一回IFを入れてやればいいだけ。これは案外普通。

Excelにて現在の行数を求める。

メモ。

=ROW()

これで現在の行数が帰ってくる。
今回使ったのは100行毎の処理を書きたかったので下記のような使い方をした。

=MOD(ROW(), 100)

これで、割り切れた時、余りが1の時、それ以外時の処理を分岐させることが出来た。

Excelにて割り算のあまりを求める。

嵌ったのでメモ。

=MOD(10, 3)
↓
1

わざわざ関数使うのかよ!「%」じゃねぇのかよ!笑
ついでに比較演算子の等号も使い方が違うので注意。

例えば、

=MOD(10, 3) == 1
↓
error

=MOD(10, 3) = 1
↓
TRUE

等号一つでいいのかよ!いろいろと勝手が違うな…。

非常にやきもきしたひとときであった。