PHP7.1到PHP7.0,nginx服务器上出现错误
我使用PHP7.1.4和Laravel5.6开发了一个网站。它在localhost上运行得很好,但是在我完成它之后,我发现我必须将它上传到的服务器上有PHP7.0.3。它根本不工作,只显示500个内部服务器错误 我试图将MAMP的版本更改为7.0,它显示了以下错误: [03-Jul-2018 14:17:22欧洲/布加勒斯特]PHP解析错误:语法 错误,中出现意外的“?” /Applications/MAMP/htdocs/agroinfo/vendor/symfony/http foundation/Response.php 在线491[03-Jul-2018 14:17:22欧洲/布加勒斯特]PHP致命错误: 在第0行未知的堆栈帧中引发异常PHP7.1到PHP7.0,nginx服务器上出现错误,php,laravel,nginx,Php,Laravel,Nginx,我使用PHP7.1.4和Laravel5.6开发了一个网站。它在localhost上运行得很好,但是在我完成它之后,我发现我必须将它上传到的服务器上有PHP7.0.3。它根本不工作,只显示500个内部服务器错误 我试图将MAMP的版本更改为7.0,它显示了以下错误: [03-Jul-2018 14:17:22欧洲/布加勒斯特]PHP解析错误:语法 错误,中出现意外的“?” /Applications/MAMP/htdocs/agroinfo/vendor/symfony/http foundat
是否有任何方法可以使项目与当前版本的PHP(PHP7.0.3)一起工作。我无法在服务器上更改PHP版本的原因是那里已经有另一个项目。很可能是您使用
函数testReturn():?string
逻辑编写了函数定义。这是PHP7.1的特性,在早期版本中不起作用
如果您的项目允许,请考虑在升级项目之前升级PHP版本。
另一个推荐的选项是使用
Docker
将应用程序打包为PHP7.1容器。它将使您能够完全控制项目依赖关系,并将项目与服务器机器分离如果要部署到PHP 7.0,则需要降级到Laravel 5.5,这就是为什么开发服务器必须始终与生产服务器相似。在PHP7.1中,您可以添加如下函数参数函数(?string$string)
,这意味着字符串可以为null。要么在PHP7.0中重建整个项目,要么更新另一个项目。我建议研究一下docker。这将使项目与各种服务器机器分离,并提供对依赖关系和升级的完全控制,同时简化后续部署和升级。