Zend 应用程序在一台机器上运行但在另一台机器上运行不正常的原因可能是什么?
What could be the reason for a Zend Application to works on one machine but not the other?
我有一个 ZF2 应用程序,可以在多台机器上运行。所有 运行 个 Zend 服务器。很难找到问题,所以请提出问题以帮助更接近问题。
机器 运行 应用程序是:
- Osx El Capitan 上的 Zend 服务器。
- Centos 7 上的 Zend 服务器使用虚拟框
- Centos 6 上的 Zend 服务器
出现问题的机器是运行:
- Zend Server on Centos 6 使用 Virtual box。
这样的use语句
use Zend\Db\Sql\Ddl\Column\DateTime;
会在有问题的机器上抛出错误,但不会在工作机器上抛出错误。那是因为实际的 class 名称是 Datetime
而不是 DateTime
。因此,将 T
更改为 t
可以消除错误。
是否缺少某些 php 配置,这就是我出现此错误的原因?还是 zend 服务器或操作系统问题?
php-v
PHP7.0.11
zend 服务器版本 9.0.1
我得到另一个错误:
While attempting to create apiv1modulenamecontroller(alias: Api\V1\ModuleName\Controller) an invalid factory was registered for this instance type.
注意 apiv1modulenamecontroller
中的小写
这是设计使然。这正是 Linux 操作系统的设计方式。根据经验,建议始终为区分大小写的文件系统创建代码,以便在将代码部署到严格遵循此规则的服务器时准备好代码。
我有一个 ZF2 应用程序,可以在多台机器上运行。所有 运行 个 Zend 服务器。很难找到问题,所以请提出问题以帮助更接近问题。
机器 运行 应用程序是:
- Osx El Capitan 上的 Zend 服务器。
- Centos 7 上的 Zend 服务器使用虚拟框
- Centos 6 上的 Zend 服务器
出现问题的机器是运行:
- Zend Server on Centos 6 使用 Virtual box。
这样的use语句
use Zend\Db\Sql\Ddl\Column\DateTime;
会在有问题的机器上抛出错误,但不会在工作机器上抛出错误。那是因为实际的 class 名称是 Datetime
而不是 DateTime
。因此,将 T
更改为 t
可以消除错误。
是否缺少某些 php 配置,这就是我出现此错误的原因?还是 zend 服务器或操作系统问题?
php-v PHP7.0.11
zend 服务器版本 9.0.1
我得到另一个错误:
While attempting to create apiv1modulenamecontroller(alias: Api\V1\ModuleName\Controller) an invalid factory was registered for this instance type.
注意 apiv1modulenamecontroller
中的小写
这是设计使然。这正是 Linux 操作系统的设计方式。根据经验,建议始终为区分大小写的文件系统创建代码,以便在将代码部署到严格遵循此规则的服务器时准备好代码。