PHP設定錯誤

本文提供PHP設定錯誤的解決方案。

PHP記憶體限制錯誤

整備檢查可確保您至少為PHP處理序預留了1GB的記憶體。 此設定對大部分的安裝而言應該已足夠,包括安裝選用的範例資料。 不過,我們建議至少使用2GB來進行偵錯。

若要增加PHP記憶體限制:

  1. 登入您的Adobe Commerce伺服器。

  2. 使用下列命令找出您的php.ini檔案:

    code language-none
    bash    $ php --ini
    
  3. 以具有root許可權的使用者身分,使用文字編輯器開啟Loaded Configuration File所指定的php.ini

  4. 找到memory_limit

  5. 將其變更為值2GB,以供正常使用和偵錯。

  6. 將變更儲存至php.ini並結束文字編輯器。

  7. 重新啟動您的網頁伺服器。 範例如下:

    • CentOS: service httpd restart
    • Ubuntu: service apache2 restart
    • nginx (CentOS和Ubuntu): service nginx restart
  8. 請再次嘗試安裝。

大型表單導致max-input-vars錯誤

具有大量儲存稽核、產品、屬性或選項的組態可產生超過預設PHP限制的表單。 如果傳送的值數目超過php.ini內設定的max-input-vars限制(預設為1000),則不會傳輸剩餘的資料,也不會更新這些資料庫值。 發生此情況時,PHP記錄檔中會出現警告:

PHP message: PHP Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini.

max-input-vars沒有「適當的」值;這取決於您設定的大小和複雜性。 視需要修改php.ini檔案中的值。 請參閱必要的PHP設定

xdebug最大函式巢狀層級錯誤

請參閱在安裝期間,xdebug最大函式巢狀層級錯誤

存取PHTML範本時會顯示錯誤

錯誤文字通常是:

Parse error: syntax error, unexpected 'data' (T_STRING)

解決方案:在php.ini中設定asp_tags = off

多個範本具有語法以支援包裝在<% %>標籤中的範本抽象層級(使用不同的範本引擎,例如Twig),例如這個範本用於顯示產品影像:

<img
    class="product-image"
    src="<%- data.url %>"
    data-position="<%- data.position %>"
    alt="<%- data.label %>" />

有關asp_tags的詳細資訊。

編輯php.ini並設定asp_tags = off。 如需詳細資訊,請參閱必要的PHP設定

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a