[anydesk]端口和白名單

參考網址:https://support.anydesk.com/zh-tw/knowledge/firewall

AnyDesk 客戶端使用 TCP 端口 80443 和 6568 建立連接。 但是,只要打開其中一個就足夠了。

AnyDesk 的“發現”功能使用 50001–50003 範圍內的空閒端口和 IP 239.255.102.18 作為通信的默認值。

可能有必要將 AnyDesk 列入防火牆或其他網絡流量監控軟件的白名單,但需要例外:“*.net.anydesk.com

發表於 軟體使用 | 發表迴響

[ubuntu]用指令設定終端機顯示中文訊息

參考網址:阿舍

首先,可以先用 locale 指令確認一下目前使用的語系為何,預設的情況下,應該會看到像下面這樣,所有的語系設定都是 en_US.UTF-8 的。

 

$ locale 

LANG=en_US.UTF-8 

LANGUAGE= 

LC_CTYPE="en_US.UTF-8" 

LC_NUMERIC="en_US.UTF-8" 

LC_TIME="en_US.UTF-8" 

LC_COLLATE="en_US.UTF-8" 

LC_MONETARY="en_US.UTF-8" 

LC_MESSAGES="en_US.UTF-8" 

LC_PAPER="en_US.UTF-8" 

LC_NAME="en_US.UTF-8" 

LC_ADDRESS="en_US.UTF-8" 

LC_TELEPHONE="en_US.UTF-8" 

LC_MEASUREMENT="en_US.UTF-8" 

LC_IDENTIFICATION="en_US.UTF-8" 

LC_ALL=

確定沒有設定成中文後,接下來,阿舍就要把 Ubuntu 的語系來改成中文了,台灣的正體中文使用的語系代碼是「zh_TW」,所以,操作步驟的指令們就是下面這樣。

1
2
3
4
5
6
7
8
9
sudo locale-gen zh_TW
 
sudo locale-gen zh_TW.UTF-8
 
sudo dpkg-reconfigure locales
 
sudo update-locale LANG="zh_TW.UTF-8" LANGUAGE="zh_TW"
 
上面的指令都跑完後,用 locale 指令來看的話,語系還會是原來的 en_US.UTF-8,會這樣,是因為要語系環境變數要登出再登入才會變更哩 ! 因此,設定完成後,請先登出再登入,再用 locale 指令來看,應該就會是 zh_TW.UTF-8 了哩 !

 

發表於 Linux系統, 程式設計 | 發表迴響

[html]一個方便使用的網頁瀏覽統計工具

參考網址:https://whos.amung.us/stats/

發表於 程式設計 | 發表迴響

[無線路由器]雙WAN功能

參考網址:https://www.asus.com/tw/support/faq/1011719/

https://www.asus.com/tw/support/faq/1050116/

如何在雙WAN路由器上設定網路備援功能?

發表於 硬體維修 | 發表迴響

[教學]如何去除手機App 以及網頁中的廣告|Adguard|Hosts Go

參考網址:https://www.youtube.com/watch?v=cTKwwHrwhRY

私人DNS dns.adguard.com

發表於 ANDROID, 軟體使用 | 發表迴響

[windows]將 Windows 自動更新暫停到 2051 年 12 月 31 日 – Windows Update Killer

參考網址:將 Windows 自動更新暫停到 2051 年 12 月 31 日 – Windows Update Killer | UNIKO's Hardware

下載

Releases · Aetherinox/windows-update-killer

由於 Windows 10 和 Windows 11 家用版不提供關閉自動更新的功能,最多透過暫停更新去延長下次進行更新的時間,使用者只能依賴其他方式去避免更新。先前分享過 StopUpdates10 與 Windows Update Blocker 兩款自動更新關閉工具,考量到有些人不想使用第三方工具,因此分享國外網友製作的登錄檔,使用後可以暫停更新至 2051 年 12 月 31 日喔!
如果沒使用登錄檔,家用版最多暫停 5 週。

發表於 Windows系統 | 發表迴響

[excel]秩序冊出場序版面產生器

參考網址:李坦闊老師FB https://www.facebook.com/tancle.taiwan
下載點 http://bit.ly/3gjxD0S
使用教學 影片說明 https://youtu.be/Qj-HtxSDvM0
本系統是在Fb社團「Excel 函數教學 & 討論」發問,由「陳鴻儒」先生撰寫原始碼,「閃鈴教室」做些微修改後,無償提供大眾使用。

發表於 Windows系統, 程式設計 | 發表迴響

[php]php 8 How to solve this error? strlen(): Passing null to parameter #1 ($string) of type string is deprecated in

參考網址:question2answer

Before PHP 8.1:

echo strlen(null); // No deprecation notice is shown up.
// -> 0

As of PHP 8.1:

echo strlen(null); // Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in ... on line ...
// -> 0

Solution

The RFC describing this issue is really helpful for possible resolutions and I highly recommend reviewing it. As of Question2Answer, the official resolution was to make use of the Null Coalescing Operator (??) when possible; here is an example from GitHub, which replaces:

if (strlen($error )) {...}

with this:

if (strlen($error ?? '')) {...}

This effectively fixes the issue.

 

合併運算子(??)
php7開始支援
PHP 7 新特性二Null coalescing operator(空合并运算符)
空值合併運算子

如要相容於php5.6得改掉「??」
 

1
2
3
4
https://github.com/tad0616/tadnews/commit/master
修正PHP5.x會出錯的問題
$result['of_ncsn'][$ncsn] = $page['of_ncsn'] ?? $the_ncsn;
$result['of_ncsn'][$ncsn] = isset($page['of_ncsn']) ? $page['of_ncsn'] : $the_ncsn;

 

發表於 程式設計 | 發表迴響

[php][ajax]一個不錯的table界面

參考網址:https://datatables.net/

網路閒晃,意外發現。

Add advanced interaction controls to your HTML tables the free & easy way

發表於 軟體使用 | 發表迴響

[php]升級到PHP8之後的調整

參考網址:https://fannys23.pixnet.net/blog/post/48239316

配合 PHP 8 停止支援 __autoload(),改用 sql_autoloaod_register()

配合 PHP 8 停用 each(),改用 foreach()
錯誤訊息:PHP Fatal error:  Uncaught Error: Call to undefined function each()
while(list(, $line) = @each($lines)) {
改寫為:
foreach ($lines as $line) {

 

在 PHP 8 要對 PHPExcel 做的調整:

  1. 陣列元素不可再使用大括號 {} 操作,需要使用中括號 []

     

     

     

     

     

     

     

    • 錯誤訊息:PHP Fatal error:  Array and string offset access syntax with curly braces is no longer supported
    • 原本在 PHP 7 的寫法為:
      $str = array(1, 2, 3);
      $test = $str{0};
      改寫為:
      $str = array(1, 2, 3);
      $test = $str[0];
       
  2. 在 DefaultValueBinder.php 出現 "Trying to access array offset on value of type int",依照  stackoverflow 的上的討論,我將第 86 行由:

     

     

     

     

     

     

     

    } elseif ($pValue[0] === '=' && strlen($pValue) > 1) {

    改為:

    } elseif (0 === strpos($pValue, '=') && strlen($pValue) > 1) {

 

https://forum.gamer.com.tw/C.php?bsn=60292&snA=8686
解決count()的錯誤
 

原本在PHP7能運行的count()程式段,在PHP8會報error

Exception: count(): Argument #1 ($value) must be of type Countable|array, null given
 

報錯原因

因為count()在PHP8需要是array或是countable,否則會報TypeError

在PHP7時期只會跳warning

https://www.php.net/manual/en/function.count.php
 

解決方案

第一種:先作宣告

於第425行後加上以下兩條

$new_Timestamp = [];

$new_TimestampTitle = [];

 

第二種:加上is_countable()

將434的if(count($new_TimestampTitle)>0){

改為if (is_countable($new_TimestampTitle) && count($new_TimestampTitle) > 0) {

 

 

調整sport/ns到php8.1.2(ubuntu 22.04預設php版本)
 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
adodb升級至v5.22.7
  
include/config.php 修正
//Smarty 偵錯
define('DEBUG' , 'false') ;
 
比較麻煩的是這個錯誤
Fatal error: Uncaught Error: Undefined constant "play_group_level_id" in /var/www/html/ns/sum/sum_item.php:20 Stack trace: #0 {main} thrown in /var/www/html/ns/sum/sum_item.php on line 20
陣列的索引值如果是文字則必需有''包住,之前的版本只是會提出警告,php8直接給Fatal error
例如:$sys_conf[play_place] 必需改為$sys_conf['play_place']
 
用sublime text正則表示式找陣列,以「$」開頭,以「[」結束的字串
\$(\w+)\[
\w matches any word character (equivalent to [a-zA-Z0-9_])
 
\$(\w+)\[(\w+)]

 

 

 

發表於 Linux系統, 程式設計 | 發表迴響