Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP7.1到PHP7.0,nginx服务器上出现错误_Php_Laravel_Nginx - Fatal编程技术网

PHP7.1到PHP7.0,nginx服务器上出现错误

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

我使用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行未知的堆栈帧中引发异常


是否有任何方法可以使项目与当前版本的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。这将使项目与各种服务器机器分离,并提供对依赖关系和升级的完全控制,同时简化后续部署和升级。