ホーム » Synology NAS (ページ 7)
「Synology NAS」カテゴリーアーカイブ
html がダウンロードに…
html から php を呼出す様にするために,.htaccess に次の内容を追加.
AddType application/x-httpd-php .php .html
一部の環境ではうまく動作するように見えたが,幾つかの環境でダウンロードになってしまう.
.htaccess を削除して,再度 html を開くと,またダウンロードになってしまう.
別のサーバ名(//mish.myds.me ではなく//ds116)から入ると,正しく表示出来る.
原因はブラウザのキャッシュで,クリアして正しく表示出来る様になった.
QR コード生成
QRコードをどこかで使えないかと思いちょっと調べてみた.
先ず読取りから.
moto g5 や 107SH での読取りは,「公式QRコードリーダー”Q”」が良さそう.
「機能一覧」には「読み取り内容コピー」とある.
今度は生成.
15 年位前に一度調べて,何か面倒そうなイメージがあったが…
検索すると,Y.Swetakeさんの「QR code CGI & PHP scripts」が多くヒットする.
「QRcode Perl CGI & PHP scripts ver. 0.50」が最新の様で,「ver. 0.50j ( 2013/5/18)」をダウンロード.
それを解凍し,//ds115j/…/qr/qr_img/ 以下にコピー.
//…/php/qr_img.php を開くと,
Fatal error: QRcode : Data do not exist. in /…/qr/qr_img/php/qr_img.php on line 88
「QRcode Perl … トラブルシューティング」を見ると,qr_img.php?d=address とする必要があるとのこと.
README.sjis にもちゃんと書いてある.
読取りでアドレスをメールなどで送信する方法は見つけた.
「設定」の中の「開く前に確認メッセージを表示」にチェックを付ける.
読取り後の確認画面に,「コピー」や「共有」のメニューが表示される.
2018/01/26 JavaScript 経由で,qr_img.php を呼び出し.
2021/07/14 qr_img.php を呼出す JavaScript を修正
* QRコードは(株)デンソーウェーブの登録商標です.
Connection to iwao.synology.me has been lost since 2017-12-01 14:07:12 +09:00
メールを確認していると,次の様な内容が
Dear user,
Connection to iwao.synology.me has been lost since 2017-12-01 14:07:12 +09:00. Please check the network connection of your DiskStation, and make sure its DDNS service is enabled.
Sincerely,
Synology Account
なぜかわからないが,192.168.11.1 の方が「デフォルトゲートウェイ」になっている.
192.168.11.1 は,Wi-Fi 接続側.
「コントロールパネル」のいろいろな設定を見ると確かに 192.168.11.1 の方が選択されている.
チェックを外したり,順番を入替えたりしても「有線」の方に変更できない.
結局,「ワイヤレス」-「ネットワークマップ」で,「ワイヤレスAP」に一度設定して戻すことで対応.
HDL-Z2WM2C2 メール設定
WLI-UC-AG300N その後
DS115j に接続した Wi-Fi(WLI-UC-AG300N)が,またうまく動作しなくなった.
DS116 を追加してから DS115j での使用頻度は減っていた.
前回この現象を確認した頃は暑い時期だったので,それが影響しているものかと思っていた.
また,WLI-UC-AG300N の問題(個体差)だろうと勝手に思っていた.
DS116 を追加した時にも WLI-UC-AG300N を追加しているので,DS115j と交換してみた.
しかし,DS115j での現象は変わらない.つまり,WLI-UC-AG300N の問題ではなく DS115j でうまくないみたい.
外からの接続が不安定
朝見ると,http://itl.mydns.jp や http://iwao.synology.me などへの外からの接続ができなくなっていた.
外へのアクセスは特に問題なさそう.
先日 DS116 を追加して,いろいろいじったためと思ったが…
DS115j のログにエラーがある.
Error システム 2017/09/27 03:24:25 SYSTEM System failed to register [27.92..] to [xxx.jp] in DDNS server …
5 年以上前から 121.108…. から変更されなかったので,丁度良いと思っていたのに…
IP が変わったことにより,何かの整合性が取れてないのかもしれない.
ルータ,アクセスポイント,外からアクセスできるサーバなど,何度か再起動して落ち着いた?
DS116 追加
1 年近く DS115j を使用してきたが,想定していた以上の利用になりちょっとパワー不足に.
特に,週末実行している Antivirus Essential が動き出すと DSM などもうまく入れないこともある.
DS116 と DS115j の比較や性能を参考にして DS116 に.
データが全く同じではないので単純には比べられないが,26000 個のスキャン 6 時間が 15 分程度に.
DS115j から DS116 へのファイルのコピーでの状態.
DS115j では,CPU とメモリがボトルネックになっている様であるが,DS116 ではまだ余裕がありそう.
2017/09/29
ストレージや,DS116 では 40 ℃ 前後だが,DS115j の本体?の温度は 50 ℃ 位になっている.
WSR-300HP 追加
先日,WLI-UC-AG300N を追加し「ワイヤレス ルーター」として設定したが,
ちょっと不安定なのと,そこからは外を覗かない様にしたかったのであまり使えないでいた.
どちらかと言うと,独立した AP として利用していた感じ.
「ホテルルーター」が良いかとも思ったが,発熱の問題や,長時間だと不安定になることがあるなどとあった.
いろいろ考え,やはり独立した「ルーター」が良さそうと思い量販店へ.
「安価なルーター」で「Wi-Fi や GIGA ビットはあればなお良い」と言うことで探してもらった.
それですすめてもらったのが WSR-300HP .価格的にも予定範囲内.
接続などは特に困ることもなく LAN 内は独立して意図した動作となった.
が,T5400 で「インターネット」接続が不安定なことは残っていた(前回あまり調べてなかった).
どうも「デフォルトゲートウェイ」の設定がよくなかったみたいで,追加した側の IP を固定に.
2017/07/11
固定 IP にすることだと,本来 DHCP サーバを使いたかったのでこのルーターを追加する意味が半減する.
さらに調べてみると,
Windows 7 でネットワーク接続の優先順位を変更する方法
IIS+PHP-2
先日 php のインクルードなどに PHP_OS を利用していたが,
$base = “/…/web” ;
if (PHP_OS == ‘WINNT’) { $base = “c:/…/web” ; }
else { $base = “/…/web” ; }
include ($base . “/_lib/…/log.php”) ;
$_SERVER[“DOCUMENT_ROOT”] を見つけたので,
include ($_SERVER[“DOCUMENT_ROOT”] . “/_lib/…/log.php”) ;
他に,実行ファイルは OS に合った指定が必要な様で,
<?php
include ($_SERVER[“DOCUMENT_ROOT”] . “/…/log.php”) ;
logging () ;
exec (change_sp(“./bin/DrawNow”)) ;
// …
?>
Synology/DrawNow/
IIS 7/DrawNow/
DS115j 3D データ読込
今度は,imo(obj を拡張した 3D データ)の読込み.
次の様なコードで …/…imo -nan -nan -nan となってしまう.
GonsA ga = ::OBJ_ToGonsA(imoFile.c_str()) ;
std::tout << imoFile << _T("\t") ;
std::tout << ::V3_To_tstring(::GonsA_GetVolume(ga)) << std::endl ;
単純に読込んで,保存するのは OK .
v_tstring txtAry = ::LoadTextFile(imoName.c_str()) ;
::SaveTextFile((imoName+_T(“.mox”)).c_str(),txtAry) ;
3D データとして取り込み,出力すると,全体的に -nan や nan となる.
GonsA gt = ::OBJ_ToGonsA(imoName.c_str()) ;
::GonsA_ToOBJ(gt,_T(“./7_boxes.mox”)) ;
次の様にすると
long v1 = ::ttoi4(_T(“10”)) ;
long v2 = ::ttoi4(_T(“10 “)) ;
long v3 = ::ttoi4(_T(“10.5”)) ;
double f1 = ::ttof (_T(“10”)) ;
double f2 = ::ttof (_T(“10 “)) ;
double f3 = ::ttof (_T(“10.5”)) ;
double d1 = ::ttod (_T(“10”)) ;
double d2 = ::ttod (_T(“10 “)) ;
double d3 = ::ttod (_T(“10.5”)) ;
Vl3 v(v1,v2,v3) ;
Vd3 f(f1,f2,f3) ;
Vd3 d(d1,d2,d3) ;
std::tout << ::V3_To_tstring(v) << std::endl ;
std::tout << ::V3_To_tstring(f) << std::endl ;
std::tout << ::V3_To_tstring(d) << std::endl ;
本来は,
10 10 10
10 10 10.5
10 10 10.5
DS115j では,
10 10 10
0 0 0
-nan -nan -nan
内部的に呼んでいるのは,strtol と strtod など.
2017/06/20
atof も同様.
sscanf を利用することで対応.
double ttod_scan (LPCTSTR str) {
double value = 0 ;
sscanf(str,_T(“%lg”),&value) ;
return value ;
}
原因と言うか対応は次の内容と同じなのかとは思うが,
個人的に理解できるレベルには達していない.
Armadillo-840でstrtodを使った浮動小数点文字列の変換が出来ない
WLI-UC-AG300N 追加
DS115j 用に WLI-UC-AG300N を追加.
DSM の「コントロールパネル」-「ネットワークマップ」には次の 3 つがある.
ワイヤレス AP
ワイヤレス ルーター
ワイヤレス ネットワークに接続する
やりたかったのは,どちらかと言うと DHCP サーバ.
「ワイヤレス ルーター」として,Android などからの接続を確認.
2017/06/19
以前購入して使ってなかった LAN-RPT01BK で子機として HUB に接続.
LAN 内は意図した動作となったが,Internet 接続が不安定になった.
はっきりわからないが「ネットワークの場所」が,増えてしまった影響か?
次の所を参考にさせてもらって,増えたものを削除.
Windows 7の「ネットワークの場所」を結合・削除する
DSM 更新で…
DSM を更新した影響か? g++ などが通らなくなってしまった.
sudo -i mkdir -p /volume1/@entware-ng/opt ln -sf /volume1/@entware-ng/opt /opt wget -O - http://pkg.entware.net/binaries/armv7/installer/entware_install.sh | /bin/sh root@DS115j:/etc# cat rc.local #!/bin/sh # /bin/ln -sf /volume1/@entware-ng/opt /opt /opt/etc/init.d/rc.unslung start # /root/.profile . /opt/etc/profile reboot
sudo -i
opkg -v
また,更新してしばらく?は,何か動作が安定していない気がする.
php や c++ での動作が何か変?
DS115j std::tostringstream
DS115j で,次の様なコードの str が “123” にならない(”0″ になる).
{
double checkValue = 123 ;
tstring str ;
std::tostringstream strBuf ;
{
strBuf << checkValue ;
str = strBuf.str() ;
}
// …
}
sprintf を利用することで対応.
{
std::string str ;
tstring fmt = _T(“%.”) + ::To_tstring(p) + _T(“f”) ;
str.resize(512,0) ;
sprintf(&str[0],fmt.c_str(),v) ;
// …
}
DS115j Web での日本語
DS115j の標準出力をブラウザで表示すると,日本語部分が表示できない.
コードはこんな感じ.
#include "i_DrawLg.hxx" #include <iostream> int _tmain (int argc,TCHAR* argv[]) { _tsetlocale(LC_ALL,_T("")) ; tstring orgCode1 = _T("ostrstream-%E3%81%AE%E5%88%A9%E7%94%A8%E3%81%A7%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%AF/") ; tstring orgCode2 = _T("url=http%3A%2F%2Fiwao.synology.me%2Fwordpress%2Fdev%2F2011%2F12%2F01%2Fvirtual-pc-%25E3%2581%258C%25E9%2581%2585%25E3%2581%2584%2F&usg=AFQ") ; tstring deco_1_1 = ::PL_Decode_url(orgCode1) ; tstring deco_2_1 = ::PL_Decode_url(orgCode2) ; tstring deco_1_2 = ::PL_Decode_url(deco_1_1) ; tstring deco_2_2 = ::PL_Decode_url(deco_2_1) ; std::tout << tstring(orgCode1.c_str()) << std::endl ; std::tout << ::UTF8_To(deco_1_1.c_str()) << std::endl ; std::tout << ::UTF8_To(deco_1_2.c_str()) << std::endl ; std::tout << tstring(orgCode2.c_str()) << std::endl ; std::tout << ::UTF8_To(deco_2_1.c_str()) << std::endl ; std::tout << ::UTF8_To(deco_2_2.c_str()) << std::endl ; return 0 ; }
コンソールでの出力 Iwao@DS115j:~/www/T_php/temp/test/DecodeU$ Iwao@DS115j:~/www/T_php/temp/test/DecodeU$ php index.php <pre> ostrstream-%E3%81%AE%E5%88%A9%E7%94%A8%E3%81%A7%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%AF/ ostrstream-の利用でメモリリーク/ ostrstream-の利用でメモリリーク/ url=http%3A%2F%2Fiwao.synology.me%2Fwordpress%2Fdev%2F2011%2F12%2F01%2Fvirtual-pc-%25E3%2581%258C%25E9%2581%2585%25E3%2581%2584%2F&usg=AFQ url=http://iwao.synology.me/wordpress/dev/2011/12/01/virtual-pc-%E3%81%8C%E9%81%85%E3%81%84/&usg=AFQ url=http://iwao.synology.me/wordpress/dev/2011/12/01/virtual-pc-が遅い/&usg=AFQ </pre> Iwao@DS115j:~/www/T_php/temp/test/DecodeU$
ブラウザでの出力 ostrstream-%E3%81%AE%E5%88%A9%E7%94%A8%E3%81%A7%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%AF/ ostrstream- ostrstream- url=http%3A%2F%2Fiwao.synology.me%2Fwordpress%2Fdev%2F2011%2F12%2F01%2Fvirtual-pc-%25E3%2581%258C%25E9%2581%2585%25E3%2581%2584%2F&usg=AFQ url=http://iwao.synology.me/wordpress/dev/2011/12/01/virtual-pc-%E3%81%8C%E9%81%85%E3%81%84/&usg=AFQ url=http://iwao.synology.me/wordpress/dev/2011/12/01/virtual-pc-
どこかの設定の問題とは思うが,場所がわからない.
それとも,変換がかかる部分を NOP とすべきか?
2017/06/02
Linux の場合 UTF8 となっていると思うので,::UTF8_To をしなくても良いはず.
Windows の場合は,tstring への変換(UTF8 から S-JIS または UTF16)が必要.
UTF8_To を _MSC_VER で振り分ける様に修正.
と思ってやって,上のコードではクリアしたが,
他にもうまくないコードがある様で,drawlog.htm が途中で切れている.
(/tmp/…/i_Tools.tmp/…/dump.txt は意図したデータで出力されている)
html 出力 (HtmOut::Export) の ::SaveUTF8 から呼んでいる ::To_UTF8 も同様に修正.
Windows の場合は,tstring (S-JIS または UTF16)から UTF8 の変換が必要.
Synology g++ DrawLog.cpp
前回 mac 上で動作する様にしたものを DS115j に.
CPATH などの設定も mac と同じ様な感じで指定.
php から呼び出し,実行ファイルが起動していることは確認できていた.
DSM の「リソース モニタ」-「プロセス」で確認.
が,結果が正しく表示されない.
ssh で接続しての起動では正しく動作している.
原因は,デバッグ用にデータをダンプしていたディレクトリのアクセス権の設定.
書き込み可能にして OK .
Synology NAS で gcc
2022/06
https://dev.mish.work/wordpress/2022/06/15/ds116-entware/
2022/03
https://dev.mish.work/wordpress/2022/03/13/ds220-setup-4-opkg/
ssh などで接続した DS115j 上で, gcc などを使える様にするために…
ipkg や Opkg が必要らしい.
Install on Synology NAS
日本語で説明されている所があったので,参考にさせてもらった.
2016/06/29 Synology DS216j Entware-ng 導入
次の様なコードを g++ でコンパイルして ./a.out を生成.
#include <iostream>
int main() {
std::cout << "hello c++ php" << std::endl ;
return 0 ;
}
exec.php を開くと,
Synology php
PHP | 5.6 | 7.0 |
---|---|---|
itl.mydns.jp/I****/phpinfo.php | 5.6.30 | 7.0.16 |
itl.mydns.jp/~I***/phpinfo.php | 5.6.30 | 5.6.30 |
itl.mydns.jp/~i_**/phpinfo.php | 500 | 500 |
php -v | 5.6.11 | 5.6.11 |
mac php -v | 5.5.38 |
_SERVER[“SERVER_SOFTWARE”] | 2.2 | 2.4 | Nginx |
---|---|---|---|
itl.mydns.jp/I****/phpinfo.php | 2.2.31 | 2.4.25 | 1.11.10 |
itl.mydns.jp/~I***/phpinfo.php | 2.2.32 | 2.2.31 | 2.2.31 |
mac httpd -v | 2.4.18 |