我在任何 Web 应用程序项目中都使用 Silex(以及 Composer)。
我想自动加载 4 个实体和表单:
- FSB\MyProject\Entity\Booking --> /src/FSB/MyProject/Entity/Booking.php
- FSB\MyProject\Form\BookingType --> /src/FSB/MyProject/Form/BookingType.php
- FSB\MyProject\Entity\Contact --> /src/FSB/MyProject/Entity/Contact.php
- FSB\MyProject\Form\ContactType --> /src/FSB/MyProject/Form/ContactType.php
composer.json 使用 psr-0 数组定义:
{
"require": {
"silex/silex": "~1.0",
[...]
},
"autoload": {
"psr-0": {
"FSB": "src/"
}
}
}
然后在我的 index.php 文件中,我只是调用:
use FSB\MyProject\Entity\Contact;
use FSB\MyProject\Form\ContactType;
use FSB\MyProject\Entity\Booking;
use FSB\MyProject\Form\BookingType;
$contact = new Contact();
在我的开发环境、MAMP、php 5.4 中一切正常
但它在我的生产服务器上也中断了,Ubuntu 上的 Apache2 和 PHP 5.4
“PHP 致命错误:在 /[...]/index.php 中找不到类 'FSB\MyProject\Entity\Contact'”
我尝试了很多方法来加载我的实体,例如:
{
"require": {
"silex/silex": "~1.0",
[...]
},
"autoload": {
"psr-0": {
"FSB/Palmeraie": "src/",
}
}
}
甚至:
{
"require": {
"silex/silex": "~1.0",
[...]
},
"autoload": {
"psr-0": {
"FSB\\Palmeraie\\Entity": "src/",
"FSB\\Palmeraie\\Form": "src/"
}
}
}
--> 在我的开发环境中有几种方法;我的生产环境中没有...
我错过了什么 ?