2017年12月20日水曜日

remoteQTH on Raspberry Pi

横で寝ているRaspberry Pi3の利用を考えていましたら、remoteQTHなるページを見つけ(ま、Flexradioのcommunityで見つけたのですが、、、)、早速インストールしてみました。 インストールして暫く使用していなかったためか、まずRaspbianが立ち上がらなく、SDを最初から作ってやり直し。
Raspbian(debian)は無事立ち上がり、sshでWindowsからアクセスできるようにして、早速remoteQTHをインストール!? と、今のRaspbian (debian)はphp5をサポートしておらず、php7が標準になっていますーpackageが無く、インストールエラーになります。 
 やむを得ず、php7のphpとphp-gdをインストールして立ち上げてみると、立ち上がらない!(右の画面) 
# php index.php としてエラー個所を探してみると、
  :    :     :     :

Build

Actual: PHP Fatal error:  Uncaught Error: Call to undefined function rxfile2() in /home/pi/remoteqth/www/index.php:19
Stack trace:
#0 {main}
  thrown in /home/pi/remoteqth/www/index.php on line 19

と”rxfile2()が見つからない!”と言ってきます。 
rxfile2()は同じ階層のfunction.phpというファイルにあるので「これはsearch pathの問題?」とrequireを絶対パスに書き直してみましたが、やはりダメ。 
添付の様な、簡単な確認用プログラムを走らせてみると、rxfile2 が同一ファイル内に定義されていると実行されるのに、外部から持って来ようとするとエラーになる。そもそも、php5 -> php7でこんな問題が生じるようには思えないのですが、、、。 と、ここでphpに対する知識不足から頓挫。
remoteQTHのWebインターフェースはNetteというPHPのframeworkで作られているようですが、これもphp5/php7共に動くように見えるので、???
久しくphp弄って無いので、Give-up状態です。

> とんでもなくおバカさんでした。 分割ファイルの頭がマニュアル
見たらphp.iniでshort_open_tag=Offになっているとダメだよ、と書いてあったので確認してみると、確かに/etc/php/7.0/apache2/php.ini でshort_open_tagがOffになっていました。これをOnにしてservice apache2 restartで動作するようになりました。 さて評価はどうやってやろうかな?




------------------- test.php ----------------------
///  便宜的に#if #else #endif で書いていますが、
///  このままでは実行できません。
#if 0
  This does not work

 require '/home/pi/remoteqth/www/function.php';
// 実行状況を見ると、ちゃんとファイルは読み込まれているのですが、
// rxfile2が見つからない!と文句を言ってくる!!
 print_r(rxfile2('/etc/debian_version'));

#else
  This works...
  print_r(rxfile2('/etc/debian_version'));
 
// precteni souboru, pokud neexistuje, vytvorit - bez $path
function rxfile2($file) {
      if (file_exists($file)) {
              if ( 0 == filesize( $file ) ) {
                  // file is empty
              } else {
                      $valuex = file($file);
                      return $valuex[0];
              }
      } else {
              file_put_contents($file, '');
              $valuex = file($file);
              //return $valuex[0];
      }}
#endif
?>

------------------------- function.php --------------------------
/* grep -e ARM -e Geode /proc/cpuinfo
model name      : Geode(TM) Integrated Processor by AMD PCS
Processor       : ARMv6-compatible processor rev 7 (v6l)
model name      : ARMv6-compatible processor rev 7 (v6l)
Version: 1
built: echo $(date +%s)-1360000000 | bc
*/
// test HW naplni gobalni proennou $hw
function gethw() {
  ::::
}

// RPI board revision
function rpirev() {
  ::::
}
function rpi2rev() {
  ::::
}

function availableUrl($host, $port, $timeout) {
  ::::
}

// precteni souboru, pokud neexistuje, vytvorit
function rxfile($file) {
  ::::
}

// precteni souboru, pokud neexistuje, vytvorit - bez $path
function rxfile2($file) {
  ::::
}
  ::::::
?>

0 件のコメント:

PCをWindows11にアップグレード(ハードもRyzen9 9900x+4070TiSに)

remBG(背景を消すPysonのユーティリティ)を弄っていたら、記事に書かれているのと比べてやたらスピードが遅いので、購入履歴を調べてみると、3~4年経ってしまっている。  ここは、奮起して、Ryzen9 9900x+Asus Prime X870-P WIFI-CSM +As...