おはようございます。色んなしがらみから逃げて、最後は行く当てもなく重い荷物を押して坂を上る、と言う夢を見ました…。
やっちんです。
きっと昨日晩飯食べなかったからやで。
心の栄養も摂らなあかんで。
(写真は赤ジャケ男におごってもらったエビ餃子)
ALTUS(CentOS with Plesk12)を借りて一番困っていたのが、FTPが安定しないところ。
Plesk12のFTPサーバソフトウェアはProFTPDで、Pleskのfirewallはデフォルトでtcpのハイポートが許可されてない、proftpd.confにもPassive用のポート指定がされていないため、Activeでしか接続できない。
これがDreamweaverとひたすら相性が悪いのか、接続が切れまくる、Dreamweaverが落ちまくる、32GBのメモリを積んでいるWindowsに「メモリ不足」と表示される…など、とにかく悲惨。
で、Passiveで接続するための設定を施すと、嘘のように低スペックのPCでもサクサクDLできるようになった。
※もちろんActiveの方がPassiveよりセキリュティが高い。
※.ftpaccessなどでFTPアクセスをIP制限するのが確実か。
ALTUSなら「コンソール→ネットワーク」で設定できるセキリュティグループで自分のIPからしかFTPポートにアクセス出来ないようにしておくと安心。
vi /etc/proftpd.conf
で設定ファイルを開き、下記を追記。
MasqueradeAddress xxx.xxx.xxx.xxx //サーバのWAN側IPアドレス
PassivePorts 20000 21000 //ハイポート番号を指定
Escキー押下
:wq で保存
/etc/rc.d/init.d/xinetd restart //ftp再起動
※Plesk12のFirewallを利用している場合は、上記ハイポートを許可する事。
大変だった。
細かいところは後で直す。
■やりたい事…Wordpressサイト1の投稿記事を、他サーバにあるWordpress2サイトで取得、表示。
同一DBサーバのWPから記事を持ってくる方法は他にあるみたいけど、設定が煩雑なのとDBサーバに外部接続用のユーザを作ったりしないといけないのでレンタルサーバでは荷が重いか。
今回はWordpress自体が出力しているRSSを取得・表示する方法。
(出典・モンキーレンチ様。こことかこことか)
<?php
include_once(ABSPATH . WPINC . '/feed.php');
$rss = fetch_feed('http://hogehoge.com/feed'); // RSSの取得元URL
if (!is_wp_error( $rss ) ) : $maxitems = $rss->get_item_quantity(3); // 記事数
$rss_items = $rss->get_items(0, $maxitems);
endif;
?>
<ul>
<?php
if ($maxitems == 0): echo '<li>記事はありません</li>';
else :
date_default_timezone_set('Asia/Tokyo');
foreach ( $rss_items as $item ) : ?>
<li><a href="<?php echo $item->get_permalink(); ?>" target="_blank" rel="bookmark"><?php echo $item->get_title(); ?>
<span class="news-date"><?php echo $item->get_date('(Y/m/d)'); ?></span></a>
</li>
<?php endforeach; ?>
<?php endif; ?>
</ul>
で可能。
ただ、上記でRSSを取得した場合、取得した側のWordpressで最大12時間のキャッシュが効いてしまって最新記事が取得できないことがある。
なので、取得先Wordpressサイト1のfunction.phpに追記して、キャッシュ時間を変更する。
return 数値を秒で指定する。30分なら1800を入力することで、30分ごとにRSSキャッシュを更新してくれる。
add_filter( 'wp_feed_cache_transient_lifetime', function(){'return 1800;';});
上記はPHP5.3から使用可能な無名関数を使用。
ちなみにそれ以前のverの場合は
add_filter( 'wp_feed_cache_transient_lifetime', create_function( '$a', 'return 1800;' ) );
と匿名関数(create_functionで定義)を使うか、
function return_rss_num() {
return 3600;
}
add_filter( 'wp_feed_cache_transient_lifetime' , 'return_rss_num' );
関数を作って入れることになる。
匿名関数と無名関数の違いはこちら。
PHP5.3以降を使用している場合は、PHPマニュアルにもあるように無名関数を使用したほうがよさそう。
警告 / この関数は、内部的に eval() を実行しているので、 eval() と同様にセキュリティ上のリスクがあります。 さらに、パフォーマンスやメモリ使用効率の面でも問題があります。
PHP 5.3.0 以降を使っている場合は、この関数ではなく、ネイティブの 無名関数 を使うべきです。(出典・PHPマニュアル)
他にも無名関数は匿名関数の倍の処理速度だそうで。
こんにちは、忙しいアピールはモテないという話なので、ハイサー(high thirty アラフォー手前である事を自称)後半は
「余裕のある大人の魅力」
を身に着けようと思います。
やっちんです。
相変わらず平日はWEB制作 or レコーディング、週末はドラム or パーカッションという毎日です。
今年はワタナベフラワーが神戸市と公民連携を締結した、簡単にいうと神戸市認定バンドになった?という事で、私もワタ自連携を結んでいる身としてこの神戸市の
「ステンスワンプロジェクトは、神戸市環境局が主体となり、神戸市内全域におけるたばこの吸い殻や空き缶等の「ぽい捨て禁止」<=ステン>、「路上喫煙禁止(努力義務)」<=スワン>を広く知っていただき、「美しいまち神戸」の推進にご協力いただくため、市民やボランティアと連携し、市内各地での啓発巡回活動(300か所)とキャンペーンイベントを実施していくプロジェクト。」
であるステンスワンプロジェクトに関わらせて頂いております。
このプロジェクトのオフィシャルサイトも制作させて頂きました。
(コーディング・CMS導入・スマホ対応、他)
なんかまぁ難しい事はアレですが、僕は単純に
「神戸住んでるんやから神戸市綺麗にしようぜ、ポイ捨てとか歩きたばことかやめようぜ」
というシンプルな意識、そして
「ポイ捨て・歩きたばこするやつをク〇呼ばわりしたいからゴミ拾ったりするで」
という曲がった根性、さらに
「自分の暮らす街に貢献している、お前より絶対貢献している」
という腐った選民意識を持って活動しております。
後半二つもクリーンアップされたいところですね。
(写真は垂水駅前清掃後)
他、ステンスワンテーマソングのドラム演奏とダンス教則ビデオなども作ってます。
面白いので見てね。
ちなみに、数年WEB制作をやっておりますが、未だ自社サイトがありません。
どういうことやねん。
(医者の不養生、WEBデザイナーの自社サイト無し)

