Prestashop迁移,index.php没有得到执行

问题描述:

我们的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

如果PHP FPM在websever配置文件中正确配置,它应该停止将php文件作为下载文件提供。 (这将是最好的方案,适用于99%的网站)

的事情是,为什么我得到这些所有其他网页的工作后,很简单,谷歌浏览器太烂。即使在隐身模式下,它也有一些内置的隐形缓存魔法,这是无法绕开的。它的工作原理是这样的:Chrome意识到一旦有可用的SSL保护版本的网站可用,那么只要http返回200以外的任何响应代码,就会开始将http重定向到https。使用多个浏览器进行测试! :)

但即使http版本可以在其他浏览器无需强制重定向到达,Prestashop也需要一些东西。我必须为指向新IP的域颁发有效的证书。手动禁用数据库中的SSL根本不起作用,Presta比这个更大。在ssl已经启用并且管理仪表板变为可用之后,我才能够恢复非https状态。

尝试在你的服务器的终端执行以下命令:

$ 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!你从哪里弄到的? –