使用 CMS 時出現「無法啟動會話:已由 PHP 啟動」錯誤

使用 CMS 時出現「無法啟動會話:已由 PHP 啟動」錯誤

我安裝了一個名為 Prestashop 的 CMS:它在特定網域下運行,並在 Apache 上使用特定的 VirtualHost 配置,在具有其他 PHP 應用程式 (Wordpress) 的伺服器上運行。

當我嘗試以管理員使用者身分登入時,收到以下錯誤(這是 Apache 錯誤日誌):

[Wed Jan 18 00:09:16.059190 2017] [:error] [pid 31253] [client xx.xx.xx.xx:63129] PHP Fatal error: Uncaught exception 'RuntimeException' with message 'Failed to start the session: already started by PHP.' in /opt/wp/apps/prestashop/app/cache/prod/classes.php:108\nStack trace:\n#0 /opt/wp/apps/prestashop/app/cache/prod/classes.php(483): Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start()\n#1 /opt/wp/apps/prestashop/vendor/symfony/symfony/src/Symfony/Component/Security/Csrf/TokenStorage/SessionTokenStorage.php(90): Symfony\Component\HttpFoundation\Session\Session->start()\n#2 /opt/wp/apps/prestashop/vendor/symfony/symfony/src/Symfony/Component/Security/Csrf/CsrfTokenManager.php(54): Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage->hasToken('ANONYMOUS_USER')\n#3 /opt/wp/apps/prestashop/app/cache/prod/classes.php(8196): Symfony\Component\Security\Csrf\CsrfTokenManager->getToken('ANONYMOUS_USER')\n#4 /opt/wp/apps/prestashop/classes/Link.php(722): PrestaShopBundle\Service\Routing\Router->generate('admin_product_c...')\n#5 /opt/wordpre in /opt/wp/apps/prestashop/app/bootstrap.php.cache on line 3216, referer: http://www.xxxxx.xx/adminXXX/index.php?controller=AdminLogin&token=181fa270d47386a8d523bdea6213932c&redirect=AdminDashboard'

該錯誤是由 Prestashop 的穩定版本檢索到的,因此我認為它不能依賴程式碼問題。是不是WordPress先開啟一個會話,然後Symfony(Prestashop)發現該會話已經開啟了?主域實際上由 WP 提供服務。我還嘗試為 Prestashop VirtualHost 定義特定路徑:https://stackoverflow.com/questions/18262878/how-to-prevent-php-sessions-being-shared- Between- Different-apache-vhosts 不幸的是它不起作用。

PHP 會話 auto_start 參數在 php.ini 中設定為 0。

我不明白如何解決這個問題。它可能取決於 Apache 或 PHP 配置?

多謝。

答案1

在 session_start 命令之前,您的 PHP 之外有一些字元。結束標記後最有可能有空格?

這就是為什麼結束標籤不應位於檔案末尾,這已在 PSR2 標準中進行了編碼。

確保您使用正確的 FTP 設定上傳所有文件,並檢查是否有任何意外變更。最壞的情況是 var_dump(headers_sent().__FILE_d);在錯誤訊息之前包含的所有文件中。

相關內容