2017-01-01 105 views
1

我們的prestashop網店正在被移動到一個新的服務器。一切都設置完成(除了商店URL被搞亂)index.php腳本不會被執行。它在我的瀏覽器中以一個名爲「download」的文件下載。這很奇怪,因爲我可以從同一個地方執行php,例如webserver附帶一個包含phpinfo輸出的基本文件,並且明確地從同一個文件夾運行。權限是確定的。Prestashop遷移,index.php沒有得到執行

其他細節(可能很重要):爲了使用戶能夠在過程完成時購買物品,只要一切準備就緒,DNS記錄就會更新。直到完成,我不能發出SSL證書,因爲CA會檢查域是否解析爲我的IP。我不想惹自簽名。因此,商店域名解析爲新的IP,但只根據我的本地hosts文件,商店協議設置爲https,這是不正確的,但我還沒有找到一種方法來更改它沒有管理儀表板。它使用PHP7,PHP FPM在LEMP堆棧上運行。

+0

您是以哪種方式「擊中」您的網站?您是在主機上還是通過服務器的IP添加記錄? – GeorgeGeorgitsis

回答

1

如果PHP FPM在websever配置文件中正確配置,它應該停止將php文件作爲下載文件提供。 (這將是最好的方案,適用於99%的網站)

的事情是,爲什麼我得到這些所有其他網頁的工作後,很簡單,谷歌瀏覽器太爛。即使在隱身模式下,它也有一些內置的隱形緩存魔法,這是無法繞開的。它的工作原理是這樣的:Chrome意識到一旦有可用的SSL保護版本的網站可用,那麼只要http返回200以外的任何響應代碼,就會開始將http重定向到https。使用多個瀏覽器進行測試! :)

但即使http版本可以在其他瀏覽器無需強制重定向到達,Prestashop也需要一些東西。我必須爲指向新IP的域頒發有效的證書。手動禁用數據庫中的SSL根本不起作用,Presta比這個更大。在ssl已經啓用並且管理儀表板變爲可用之後,我才能夠恢復非https狀態。

0

嘗試在你的服務器的終端執行以下命令:

$ a2enmod php5的

注:假設你已經安裝PHP5,仍然收到此錯誤。

如果上述方案不工作,那麼你可以嘗試以下解決方案:

PHP的正確將AddType是應用程序/ X的httpd - PHP

將AddType應用/ X的httpd - PHP的。 PHP 將AddType應用/ X的httpd - PHP源的.phps

此外,請確保你的PHP模塊加載

的LoadModule php5_module模塊/ mod_php55.so 當你配置apache然後嘗試從另一個瀏覽器查看頁面 - 我有一些時候chrome固執地緩存結果,並且在另一個瀏覽器中繼續下載源代碼,這很好。

+0

我沒有使用PHP5,甚至沒有使用PHP5.5。你猜怎麼着!我甚至沒有使用Apache!你從哪裏弄到的? –