phpからpython起動

ローカルマシン上で動かしているpythonのコードを、サーバー上に移行することを検討中です。 現在、Jupyter Notebook(iPython Notebook)を使っていて、この環境向けに書いたコードを定期的に起動して、データ収集と解析を行っています。現状は、実行するときは手動でJupyterを起動して、操作しています。 この手間を何とかしたいわけです。

まず、pythonコードをPHPから呼び出す方法を確認。 いくつかのサイトに記載があり、つぎの2つの動作確認はすぐにできました。

「phpからpythonを呼び出し、実行結果を取得、表示」
「サーバー側でPythonスクリプトを動かし、結果をクライアント側に表示する」

ただ、numpyをインポートする単純なコードだと、phpではpythonの出力文字列を拾えない状態になった。上の2つ目のコードに順に追加していくと問題なく動作し、前の問題を再現できていない。 

1つめのコードに1行ずつ追加して問題発生有無をチェックしていくと、2バイト文字を含む行を追加した時点で問題が発生することが判明した。 そして、2つ目のpythonコードと比べて、
2つ目のpythonコード の1行目「#-*– coding: utf-8 -*-」が効いていた。 これを1つめのコードに反映して問題が解決した。 この行の記述のとおり2バイト文字はここで指定した文字コードで保存しないと文字化けする。
↑そもそもPHPでエラー出力を拾えるように細工しておけば、原因はすぐに分かったはずだが、 久しぶりに触ると.やはりだいぶ忘れてます。

つぎはJupyter Notebookのコードを移植していきます。

あっという間にディスクフル

そんなに大きなファイルを保存したはずもないのにディスクフルになることはないですか?

上は空き確保の対処後の状態ですが、まだまだ改善の余地なりの状態です。 ポイントは、保存したファイルの総サイズが255GBなのに対して、ディスク上のサイズは595GBという点です。実利用率は42%ほどにとどまっています。つまり、60%もの領域が使えない状況なのです。 

 この事象を発見した当時は、” 保存したファイルの総サイズが5GB程度なのに、4TBのHDDを使い切っていました。ディスクの実利用率は0.1%とひどい状況でした。原因はHDDの1ブロックのサイズが128MBと大きいのに、細かいサイズのファイルを大量にxcopyでバックアップしていたからでした。昔は512Byteとか4kByteだったので、何の問題もなかったのだが…。

バックアップの仕方を、圧縮したファイルを転送するようにバッチを変更しました。 ただ、たまに古いバッチが動いているようだ……。探して処置しないと… 

 それから、Windowsのイメージバックアップが1つのファイルで、1.6TBもある、OSなどバックアップ対象にしたファイルサイズはこんなに大きいはずはないのに。 バックアップの範囲内に、外部へのシンボリックリンクがあるような気もする… これも再確認が必要だ.

今日は、トマト1株追加…だけ

今日は、キャベツとレタスの苗を植え付ける準備のため2畝つくるつもりでしたが、雑草を根っこから除去するのに手間取りました。まだ雑草の処置ができていないので、耕せる状態にもなっていない。

苗の成長が早くなっているので、1株のトマトは来週まで植え付けを待てそうにないので、この1株だけは定植した。 キャベツの苗もこの状況だと来週には植え付けしないといけない状態になる。 しかし、今のペースで雑草除去していると終わりそうにない。来週は、表面の雑草の層をホームセンターで売っている芝生ようにとりあえず薄く削って山積みにする暫定処置にしておいて、畝つくりに集中することにする。 一部の温度計(外の気温を測っているもの)が29度を超えていた…。暑さとの戦いも始まってしまった…..。 

トマトの植え付け

本日ようやくトマトをボットから植え付けました。 去年の雑木林状態(下の写真)からだいぶ進んだ感はありますが、まだまだ草との戦いは始まったばかりです。10年以上放置状態だったので雑草や木々の蔓や根っこを除去するのはなかなかほねがおれます。ここ3ヶ月ほどは植物の活動も止まっていたのでトマトを10株ほど植えることができるレベルまで来ました。しかし、耕作可能地の1割も片付いていない。まだまだ雑草除去しないといけない。そんなことをているあいだに、自然は取り返しにくる….。 

2019年1月4日時点

20年ほど前は雑木もなくきれいな状態だったが、10年ほどあまり手をかけれていない、それでも毎年それなりに剪定や雑草除去はしていたが、ここまで荒れしまっていました。

phpで動的に変更

久しぶりの、php。。。  だいぶ忘れている。 旧サイトで書き溜めたノウハウDBは一部壊れているので、ここに書き留めておきます。

リクエストパラメータを取得する
   ⇒PHP で URL パラメーターから値を取得する方法
  

ファイルの読み込み、書き込み
→ PHPでファイルの読み込みをする主な4つの方法
→fopen関数から始める!ファイルの読み込み・書き込み方法【PHP入門】

アクセスカウンターを追加する
 上のファイル更新で実現できるが、他のサイトのものを利用
→ アクセスカウンター(無料版)テキスト版、画像版

とりあえず、以上。順次追加する予定

サイトをカスタマイズしてみた

WordPressの初期設定だといろいろ気持ちが悪い見栄えになっているので、カスタマイズする。 (この メモ描き始める前に処置したところもあります。。。)

  • 「メタ情報」と、一般人には何のことだかわからない表示が出る…      

ログインなど一般的は不要な項目だけなので「メタ情報」 の部分全体を削除します。⇒メタ情報を編集する方法

  • コンテキスト名(ホスト名の次の階層の名称)を変更する

デフォルトだとコンテキスト名が「wordpress」になっているので、これを変更する。 ⇒ WordPressのサイトアドレスを変更する手順

上のリンク先は、
「wordpress」 を”なし”に変更する前提の記述なので、「WordPressのサイトアドレスを変更する手順」の手順2と 「インストールディレクトリを変更する手順」の手順3は微修正、この変更は不要..

また、 アクセス制限をかけていると「インストールディレクトリを変更する手順」の設定変更と順番が微妙に難しい。順番を間違えると、アクセスできなくなる。 SQL叩いてDBを直接更新すれば復旧はできます(できました)…

ファビコンを指定する。 
サイト自体のファビコンは指定しているが、wordpress用の設定を行う。→ WordPressでファビコンやアイコンを設定する方法 https://www.blogging-life.com/how-to-add-favicon-to-wordpress-site/

 サイズは小さいが既存のファビコンを配置した。 後日更新しよう…

サイト更新再開のお知らせ

サイト更新再開のお知らせ
サーバマシンの故障に伴い運用停止し、2016年5月にクラウド環境に移行してメール環境のみ復旧しておりましたが、サイト更新を再開します。 過去のコンテンツは残っているものものありますがとりあえず古いので公開せずにおいておきます。もしもどうしても参照したいなどの要望があれば公開を検討しますのでコメントをお願いします。