這是一個典型的「調用未定義函數」錯誤。錯誤字面意為:代碼中嘗試調用名為 php() 的函數,但當前作用域(全局/命名空間)未找到該函數定義。
<?php
// ❌ 錯誤:以為 php() 是輸出函數
php("Hello World");
// ✅ 正確:使用 echo/print 或短標簽
echo "Hello World";
// 或 = "Hello World" ?> (需開啟 short_open_tag)
?>
<?php
// 定義了 function PhpInfo() 但調用 phpinfo()
// PHP 函數名**不區分大小寫**,但用戶自定義函數**區分大小寫** (PHP 7+ 類方法不區分)
function myFunc() {}
MyFunc(); // ✅ 內置函數不區分,用戶函數區分
?>
<?php
// 調用了某擴展函數,如 imagecreatetruecolor() 但未啟用 php-gd
// 或調用了 PHP 8 新函數 (str_contains) 在 PHP 7 環境
?>
<?php
namespace App\Utils;
function php() {} // 定義在命名空間下
// 其他文件調用
php(); // ❌ 在全局命名空間找不到
\App\Utils\php(); // ✅ 完全限定名
use function App\Utils\php; php(); // ✅ 導入
?>
php(...) 或類似拼寫。function php()。var_dump(function_exists('php')); 驗證。phpstan analyse src、psalm 可掃描出所有未定義調用。camelCase,避免與關鍵字衝突。「Call to undefined function php()」99% 是誤把 <?php 標簽或輸出語句寫成了函數調用。檢查代碼將 php(...) 替換為 echo ... 或 print ... 即可解決。若非此情況,按上述步驟排查擴展、命名空間、拼寫問題。