【发布时间】:2018-11-23 03:22:03
【问题描述】:
我正在开发一个 Symfony 2 网站,并且仅在生产中遇到问题(缓存已清除)。
我正在使用 Payplug php api:我已将文件放在供应商文件夹中,我为我使用的类使用命名空间,并且在我的本地开发环境中一切正常。
在 prod 服务器 上,我收到错误:
"Attempted to load class "Payplug" from namespace "Payplug". Did you forget a "use" statement for another namespace?"
我不明白为什么它只在产品服务器上出现命名空间错误...
控制器:
<?php
namespace KpmBundle\Controller;
use KpmBundle\Entity\Marche;
use KpmBundle\Entity\Marcheur;
use KpmBundle\Entity\Commande;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Payplug\Payplug as Payplug;
use Payplug\Payment as Payment;
class MarcheController extends Controller
{
//code
Payplug::setSecretKey(...);
//more code
}
类
<?php
namespace Payplug;
/**
* The Payment DAO simplifies the access to most useful methods
**/
class Payment
{
我真的很想知道为什么在我的本地开发服务器( app_dev.php 和 app.php )上一切正常,但在生产服务器上却出错了......
任何想法将不胜感激,
问候
编辑 通过 composer 安装的文件
【问题讨论】:
-
我想您可以在生产服务器上尝试“composer dumpautoload”,但根据您的描述,它可能无济于事。
-
不幸的是我没有 ssh 访问权限,只有 ftp 传输...可以修改什么文件?
-
当您进行传输时,您是传输整个供应商目录还是仅传输付费插件?您需要确保 vendor/composer 下的所有内容在生产和开发之间保持同步。
-
我单独推送了payplug的东西,我看到vendor/composer下的文件大小不同......你可能已经解决了我的问题!
-
@cerad 干得好,我的供应商/作曲家没有与开发者同步。谢谢
标签: php symfony namespaces psr-4