我在PHP 5.3.3上遇到Laravel 4会遇到什么问题?

Ale*_*ski 11 php laravel laravel-4

我知道Laravel 4的要求是PHP> = 5.3.7,但我的客户端必须最近的应用服务器只有PHP 5.3.3.是的,三年的版本......

我需要更多的论据来解释这种情况并找到他的解决方案(没有移动,升级或云托管).

问题如下:

  • 我能用PHP 5.3.3运行L4吗?
  • 如果没有,为什么?
  • 如果是这样,如何以及有何限制?

[编辑]我对客户端配置的了解是:使用Apache 2.2和PHP 5.3.3的VMWare虚拟机上的Red Hat Enterprise Linux 6.3.

Att*_*emi 12

Laravel 4需要PHP,5.3.7因为在散列密码时使用了bcrypt算法,在该版本中收到了一个巨大的错误修正.

看一下这篇文章,将Laravel 4的PHP需求降低到5.3.2:http://laravel.io/topic/39/laravel-4-easily-extended

编辑:这是链接文章的存档版本,因为原始版本似乎已关闭:https://web.archive.org/web/20130805153640/http: //laravel.io/topic/39/laravel-4-易于扩展

注意:5.3.3某些发行版的某些PHP版本确实将bcrypt算法修复后向移植到它们中,例如RedHat.你可以阅读如何测试,如果您使用的是发行版就是其中之一在这里 ; 如果是,你的发行版支持修复,反过来支持Laravel 4开箱即用.


Rya*_*yan 2

我有过使用远程网络主机的经历,该主机提供了多个版本的 php,并且不知何故被设置为较旧的默认版本的 php。

例如,我无法弄清楚为什么我的迁移无法运行 - 当几乎相同的本地设置工作时,artisan 命令无缘无故地失败了。发现我的根文件夹被设置为5.2什么的。与网络主机人员进行了一次快速聊天,他们向我展示了如何修复。急速迁移工作。

我的应用程序的其余大部分都有效,但 artisan 功能对我来说是不可或缺的。希望有帮助。

此外,内置的 php 开发 Web 服务器非常方便 - 从 5.4 开始。

编辑:这里有更多弹药给你:我遇到的另一个具体问题:

root@Grisbuntu:/home/ryan/MyApp6# php /usr/bin/composer.phar update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- zizaco/entrust dev-master requires php >=5.4.0 -> no matching package found.

...

root@Grisbuntu:/home/ryan/MyApp6# php -v
PHP 5.3.10-1ubuntu3.6 with Suhosin-Patch (cli) (built: Mar 11 2013 14:31:48)
Run Code Online (Sandbox Code Playgroud)

现在您已经了解了:Entrust 是一个软件包的具体示例,如果没有 5.4,您就无法使用......

sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get install php5
php -v

...PHP 5.4.15-1~precise+1 (cli) (built: May 13 2013 16:00:00)

composer update
...
Run Code Online (Sandbox Code Playgroud)

我希望这对某人有帮助!

更新:2013 年 7 月,根据php.net:请注意:这将是 PHP 5.3 系列的最后一个常规版本。鼓励所有 PHP 用户升级到 PHP 5.4 或 PHP 5.5。PHP 5.3 系列明年将仅收到安全修复程序。