为了账号安全,请及时绑定邮箱和手机立即绑定

在不同的服务器中使用 composer autoload 找不到类

在不同的服务器中使用 composer autoload 找不到类

PHP
狐的传说 2023-04-21 13:27:37
我有一个非常简单的 PHP/Composer 应用程序,其结构如下:- src  - content    - test      - Sandbox.phpSandbox.php 只有一个打印“test”的静态函数,它的命名空间是namespace MyApplication\Content\Test;我的 autoload.php 有 MyApplication 一个“自动加载”属性。"autoload" : {    "psr-4": {"MyApplication\\": "src/"}},我composer install --no-dev在带有 XAMPP 的 Windows 环境中运行,并在我执行的 test.php 文件中运行(为了进行非常简单的测试):$autoloadFile = __DIR__ . '/wp-content/plugins/sandbox/vendor/autoload.php';require $autoloadFile;echo 'autoload = ' . file_exists($autoloadFile);echo '<br />';echo 'class_exists = ' . class_exists('MyApplication\Content\Test\Sandbox');当我在本地运行此 test.php 文件时,它运行良好。MyApplication 正在加载 Sandbox 类。但是,当我将其发布到我的服务器(基于 Linux 的服务器但运行在相同的 PHP 版本上)时,找不到沙箱类。我确保我的 /vendor/ 文件夹也已正确上传。我想知道问题是否正在发生,因为我在 Windows 环境中运行 composer install 而它应该在我的服务器中运行相同的命令(目前我不能)。/vendor/ 文件夹上传是否足以使自动加载类正常工作?
查看完整描述

1 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

您文件的路径是src/content/test/Sandbox.php,根据 PSR-4,它应该是src/Content/Test/Sandbox.php- 在 Windows 上它并不重要,但在 Linux 上它确实如此。



查看完整回答
反对 回复 2023-04-21
  • 1 回答
  • 0 关注
  • 106 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信