Word Press」タグアーカイブ

HTTP 301

新サーバー移行で実は結構問題があった。
解決までの無駄な過程を書いてもしょーがないので結果だけ。

このブログ (WordPress) の RSS が取得できなくなっていた。
どうやらパーマリンクの設定を変更したのがいけなかったようで。

WordPressでRSS配信がされないのは、head内にRSSのURL指定が正しくされていないのでは? | 便利なデジタル生活

マジでこれだった、archive 付きの URL に変更。
それだけで WordPressのURL/feed/ にて普通に取得できるように戻った。
元に戻しただけで進歩は何も無いんですけどね。

まて、本サイトにて RSS の内容を表示していた所が空っぽのままだ。
RSS に直接アクセスは普通に読み込めるようになったのに何故だ?

既存のソースを殆ど変えずにfile_get_contents()をcURLにする │ Webty Staff Blog

RSS 取得はネットでよく見かけるこのコードを使っていたんですけど。
ローカルで色々試すと HTTP Status 301 が戻っていた。
http://localhost で試すとゼロしか戻らないので PHP コードのみでやって。

PHPのcurlやfile_get_contentsでリダイレクトに対応する方法

解説感謝、そういうことかリダイレクトなのか。
移行前のサーバーでは問題なく取得できていたけど同じじゃないのね。

<?php
// localhost(192.168.***.***) や macOSname.local では読み込まない
if ($hostname == "localhost" or preg_match("/^192/", $hostname) or strpos($hostname, ".local") ) {
    echo "RSS";
} else {
    $url = "https://palepoli.skr.jp/wp/feed/";
    // cURL
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    // HTTP Status 301 対策
    curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
    $result = curl_exec( $ch );
    $status = curl_getinfo($ch);
    curl_close( $ch );
    if ($status['http_code'] === 200) {
        $rss = simplexml_load_string($result);
        $i = 0;
        foreach ($rss->channel->item as $item) {
            if( $i++ == 5 ) { break; }
            $link = $item->link;
            $title = $item->title;
            $date = date('Y.m.d', strtotime($item->pubDate));
            $desc = $item->description;
            echo <<< __EOS__
<dt><a href="$link" target="_blank">$title</a>&nbsp;($date)</dt>
<dd>$desc</dd>
__EOS__;
        }
    } else {
        echo "<p>HTTP Status " . $status['http_code'] . "</p>";
    }
}
?>

Status 200 (OK) 時のみ表示させるように変更。

やっと表示できるようになった、長かった。
あれこれ試す過程で PHP を 7=>8 にしたのが原因かと疑ったり。
無駄なコードを散々書いたり、ただの勉強不足でした。

しかしコレについて言及している人少ないね。
Wordpress を使っているだけで自前コードの人って少ないんだろうか。

25mm

LUMIX 開発者の皆様ごめんなさい。
以前 LUMIX では花が綺麗に撮れる気がしないって書きました。
間違いです、筆者がヘタクソだっただけです。

普段野鳥を撮っている筆者の LUMIX は一点オートフォーカス固定です。
NIKON では昔からマルチポイントオートフォーカスしか使いません。
つまり NIKON だと綺麗だったのは撮影方法の違いではないのか?

よーしマニュアルフォーカスで花を撮ってみるぞ。
花ということでフラワーパーク江南へいってきました。
なんだよ、スイレンイベントって鉢に一本入っているだけジャン。
でもその一つに目が止まる。

1

Prince だ Purple Rain だ!
Prince – Purple Rain LIVE – YouTube

Prince の曲は全部消されていたけど最近はオフィシャルまであるのね。
いつの話だって、まあそれはいいとしてコイツでジックリ。

2

マニュアルフォーカスで、いい感じになった。
野鳥や昆虫と違って逃げないんだから追い込まなけりゃね。

3

m4/3 の F4 でも条件が揃えば玉ボケが作れる。
まんまるではないのは 7 枚羽のせいか、充分だと思うけど。

パナライカ 25mm いらないやん、9 枚羽という魅力しかワカラン。
いやまあ筆者はキットズームと単焦点でも周変光以外の差が判らないし。

ところで、今回からクリックで直接元サイズ画像へ変更しました。
Flickr を検討したけど今ってゴタゴタ状態なうえに 1000 枚上限って何よ。
今後色々あやしそうだからパス。

WordPressで画像のフルサイズが勝手にリサイズされる問題 – WEB NOTE

こんなページを見つけた、管理人さんありがとう。
早速変更させていただきました。

NSApp

Objective-c のコードだけで NSApp を作るソースを作成。
って以前 PyObjC で作ったんだから Objective-c に書き戻すだけだ。

NSApplication – Paepoi

と思ったんだけど動かない、何故だ?
検索しまくって以下のページを見つけた。

Minimalist Cocoa programming

setActivationPolicy を追加したらなんとか動くようになった。
逆に PyObjC は何故いらないんだ?
それとガベージコレクションではないので破棄が必要なんだなこれが。
NSAutoreleasePool という便利なものはこう使うみたい。

#import <Cocoa/Cocoa.h>

// clang app.m -framework Cocoa

@interface AppMenu : NSMenu
//- (id) init; // いらない
@end

@implementation AppMenu
- (id) init {
    [super init];
    id item_app = [[NSMenuItem new] autorelease];
    [self addItem:item_app];
    id menu_app = [[NSMenu new] autorelease];
    [item_app setSubmenu:menu_app];
    id item_quit = [[NSMenuItem new] autorelease];
    [item_quit initWithTitle:@"Quit App" action:@selector(terminate:) keyEquivalent:@"q"];
    [menu_app addItem:item_quit];
    return self;
}
@end

int main(int argc, char *argv[]) {
    // ガベージコレクションではないのでコレを利用
    [NSAutoreleasePool new];
    // NSApp を作る
    [NSApplication sharedApplication];
    // C ではコレが必須だった
    [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
    // command+Q で終了するメニューを入れる
    id main_menu = [[AppMenu new] autorelease];
    [NSApp setMainMenu:main_menu];
    // コレをしないと最前面に出てこない
    [NSApp activateIgnoringOtherApps:YES];
    // メインループを回す
    [NSApp run];
    //
    return 0;
}

a.out

動いたんだけど。。。。。

command+Q は使えるんだけどメニューが選択できない。
一度非アクティブにして再度アクティブ化すればイケるんだけど。
てかリンク元のコードも同じジャン。
PyObjC 版はそんな必要なんて無いのに何故だろう?

どうでもいかもしれないけれど、M1 Mac でビルドしたんだけど。
Silicon Info で確認したらこの a.out は arm64 で動いていた。

ついでに。
SyntaxHighlighter は objective-c ハイライトが無いのね。

BloggerのSyntaxHighlighterでObjective-Cを表示する方法 – menXpon

作っている人がいるってのが有名アプリのいいところ。
筆者の WordPress は自前設置なので scripts に放り込むだけ。
後は Add Code to Head プラグインの設定で以下を追加。

<script type="text/javascript" src="/sh2/scripts/shBrushObjectiveC.js"></script>

プレビュー、よしハイライトできた。
ただ Objective-c なんて今後そんなに使うか疑問なんだけど。

WordPress upload size

このブログは昨年から野鳥写真も載せるようにしたけど。
この WordPress ではアップロード制限が 5MB なので面倒臭い。
20MB あれば切り抜きしなくてもブログだけで完結できるのに。

さくらサーバーでWordPressの最大アップロードファイルサイズを変更する方法 | 株式会社ベクトル

そのものズバリのブログを発見、PHP の設定だったのか。
管理人さんありがとう、早速 php.ini の編集だ。

memory_limit = 32M
post_max_size = 30M
upload_max_filesize = 20M

20MB あればいいので上記で保存。
Wordpress の管理画面へ、おぉ 20MB に変わっている。

ところで。
Mac のプレビュー.app から RW2 を JPEG に書き出ししてみた。
LUMIX 内臓機能や Lightroom 書き出しより少しサイズが小さくなった。
カラープロファイルが sRGB ではなく Adobe RGB になっている。

色空間におけるsRGBとAdobe RGBの違いについて | ソクプリブログ

Adobe RGB のほうがサイズが大きくなりそうなんだけーがな。
Fedora の eog や Chrome でも問題なく表示できるしコレでいいか。

フォトグラファーのPCの選び MacとWindowsどちらが良い?モニター性能で考える | Life with Photo

Mac だと赤が綺麗に見えるのは気のせいじゃないみたい。
Display P3 は Adobe RGB フルサポートではないのに何故コレで書き出し?

印刷しないならあまり気にしなくてもいいのかも。
まあいいや、切り抜き無し 5184x3888px アップロードのテスト。
昨日の木曽川。

tsunami

ツグミ、春になるとツンドラに帰る前に地上で虫を捕るようになる。
ってもうやってるジャン、前日は雪が降ったというのに。

Shinohara

シロハラ、おまえもかい。
今まで全然見かけなかったのにおかげでアホみたく見かけるぞ。

shijyuukara

シジュウカラ、木の苔を剥がして虫を探しているっぽい。
よく混群していたメジロやエナガはドコへいったんだろう?

ってアップロードしたら 2560x1920px になっちゃった。
表示した後アドレスバーで -scaled を消すとフルスケールで表示できる。

冬鳥はジョウビタキを含めてもうすぐいなくなるんだなぁ。
まだ見ぬ冬鳥を探しに今日も、いや前回の兼もやらねばだけど。

MySQL 5.1 to 5.7

MySQL 5.1 のメンテというメールがさくらから届く。
そういえば前回 MySQL の更新をしたのっていつだったかな?

WordPress の [ツール]、[サイトヘルス] を見る。
MySQL 5.1 は古いからアップデートしろ、って出て来た。

さくらインターネットのレンタルサーバで WordPress 2.9 へアップグレードできない方へ ? BambooStudio*blog™
前回はこの方法で以降した、十年前の情報カヨ。
同じ手段でイケるだろうと試したら。。。。。

#1071 – 索引のキーが長すぎます。最大 1000 バイトまでです。

とエラーが出て投稿分のデータが適用されない。

MySQLのインデックスサイズに767byteまでしかつかえない問題と対策 – ハマログ

こんなのを見つけたけど 5.7 だから関係なさそう。
phpMyAdmin から変数を見ると全部定義されていた。
設定を色々弄ったけど駄目、違う方法を探す。

WordPress MySQL 移行メモ (5.5 → 5.7) ? さくらサーバー | てまりうた

ホストが同じなら Synchronize でイケるのね。
まったく同じ手段であっさり 5.7 へ以降できました。

ただ一つ違うところ、筆者は Fedora を使っているということで。
sftp 接続して Gedit で普通に wp-config.php を編集しました。

通な御仁や macOS なら ssh で vi でもいいですけど。
何もインストールせずにこれが普通にできるから GNOME は便利。

5.7 へ移行完了。