PHP+SQL MCP AI Agent

使用 Gemini Cli 製作了一個 PHP 版本的 MCP AI Agent 功能是讀取 DB資料庫 分析使用者意圖 做出報告 使用的是 OpenAI 的 GPT-5-mini 模型

核心功能就是 讓 AI接管DB的查詢權限 由AI判斷 是否已達目標 未達就繼續收集資訊 最後在彙整成報告給使用者

當然是要做一些事前宣告會比較好 像是 產品在哪等等的 (雖然不宣告也行 但如果命名混亂 且非正規化資料庫 查詢的效果就會打折)

比較實用的可能用例:
統計有多少產品
今日是否有留言
今日營業額多少,是多少客人的消費
今日消費的客人,哪幾位有留言

參加了幾場資訊展 發現我是多慮了 已經很多廠商給AI接管資料庫分析了 確實這樣玩還是能玩出很多花樣的 舉例 這種狀況在接個 客服AI 就能做及時訂單查詢的對話AI客服 (當然 過程就要遮蔽了)

[轉貼]Line LIFF 可以做什麼?. LINE LIFF已經是Line… | by Roger Huang | Aiii | Medium

Line LIFF 聊天室窗中的瀏覽器

需要使用line login api 去設定 liff 可設定 高度

避免跳出 可做出一些比較特別的變化 延伸出很多不同的玩法
閱讀全文〈[轉貼]Line LIFF 可以做什麼?. LINE LIFF已經是Line… | by Roger Huang | Aiii | Medium〉

[轉貼]用 PHP 實現 Line Message API 接收系統訊息 (主動發訊息)

用 PHP 實現 Line Message API 接收系統訊息

github: https://github.com/samejack/blog-content/tree/master/line-api

資料來源: https://blog.toright.com/posts/5727/%E7%94%A8-php-%E5%AF%A6%E7%8F%BE-line-message-api-%E6%8E%A5%E6%94%B6%E7%B3%BB%E7%B5%B1%E8%A8%8A%E6%81%AF.html

[轉貼]php API 跨域請求 – IT閱讀

處理PHP API 跨域請求:

設定API相應的http頭,讓該介面支援跨域請求

header(“Content-type: application/json”);
header(“Access-Control-Allow-Origin: *” );
header(“Access-Control-Allow-Methods: GET, OPTIONS, POST”);
header(“Access-Control-Allow-Credentials: true”);
header(“Access-Control-Allow-Headers: Content-Type, Content-Length, Accept-Encoding, X-Requested-With, Origin”);

處理PHP API 跨域請求:設定API相應的http頭,讓該介面支援跨域請求   header(“Content-type: application/json”);   header(“Access-Control-Allow-Origin:  *” );    header(“Access-Control-Allow-Methods: GET, OPTIONS, POST”);    header(“Access-Control-Allow-Credentials: true”);    header(“Access-Control-Allow-Headers: Content-Type, Content-Length, Accept-Encoding, X-Requested-With, Origin”);

內容出處: php API 跨域請求 – IT閱讀

[轉貼]如何在 XAMPP 中使用 不同的 PHP 版本 | IT人

你有沒有碰到這種情況,你工作的專案需要的是PHP7.1,而你自己的專案需要的是PHP7.2,而你又特別鍾愛於XAMPP,奈何它卻不能自由切換PHP版本,下面就講下本人在用的方法,可以通過單個XAMPP在Windows系統下安裝設定多個版本的PHP。
閱讀全文〈[轉貼]如何在 XAMPP 中使用 不同的 PHP 版本 | IT人〉

[轉貼]PHP在調用var_dump()時,結果出現文件路徑

var_dump()函數用於輸出變量的相關信息。 var_dump()函數顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,通過縮進顯示其結構。我使用的是wampserver開發在使用var_dump() 的時候有的可能遇到輸出結果帶有文件路徑;
閱讀全文〈[轉貼]PHP在調用var_dump()時,結果出現文件路徑〉

單元測試類別(unit test)

    public function test()
    {
        $this->load->library('unit_test');
        $test = 1 + 2;
        $expected_result = $this->test_fun(1,2);
        $test_name = '測試判斷';
        $this->unit->run($test, $expected_result, $test_name);
        echo $this->unit->report();
    }

    private function test_fun($a,$b)
    {
        return $a+$b;
    }

 

 

內容出處: 單元測試類別 : CodeIgniter 使用手冊

PHP html to docx 可避免中文亂碼

$html = '123abc中文abc123'; // html 內容
$html = strip_tags($html, '

,
<h1>,
<h2>,
<h3>,
<h4>,
<h5>,
<h6>,<strong>,<em>,<sup>,<sub>,
<table>,
<tr>,
<td>
,
<ul>,
<ol>,
<li>'); // 建議過濾 只留下這些html
$fileName = 'test'; // 檔名
start();
echo $html;
save($fileName.'.docx');
ob_flush();
flush();
redirect($fileName.'.docx');

function start(){
	ob_start();
	echo '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	</head>
	';
}
function save($path) {
	echo "</html>";
	$data = ob_get_contents();
	ob_end_clean();
	wirtefile ($path,$data);
}
function wirtefile ($fn,$data) {
	$fp=fopen($fn,"wb");
	fwrite($fp,$data);
	fclose($fp);
}

參考資料:
https://www.itread01.com/articles/1478056826.html