我刚刚在probject文件夹中包含phpmailer通过编辑器运行此命令:composer require phpmailer/phpmailer
在文件夹中:application/assets/
我在index.php文件中包含以下命令:
include 'application/assets/vendor/autoload.php';
但不幸的是我收到了这个错误:
警告:include(application / assets / vendor / autoload.php):无法打开流:第74行/var/www/html/projects/MyApp/index.php中没有此类文件或目录
这是我的应用程序的树视图:
>MyApp
>application
>assets
>vendor
>autoload.php
>system
>index.php
在vendor
文件夹中我composer
和phpmailer
文件夹中,如果我手动添加phpmailer类,我没有收到任何错误,这种情况只发生在我包括作曲家自动加载。
这是autoload.php
:
<?php
// autoload.php @generated by Composer
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit13c998efcdd189d437d19150f7ef3bc9::getLoader();
答案 0 :(得分:0)
我不确定子文件夹/application/assets/
中的安装是否必须,但我建议使用标准文件夹布局:
<强>步骤1 强>
在composer.json
index.php
\- MyApp
\- application
\- system
\- index.php
\- composer.json
然后将phpmailer/phpmailer
添加到此composer.json
文件的require部分:
{
"require": {
"phpmailer/phpmailer": "^5.2"
}
}
然后运行composer update
。
(或者,您也可以在composer require phpmailer/phpmailer
文件夹中运行MyApp
。它会自动为您生成composer.json
文件。
依赖项将被提取到文件夹:vendors
,这意味着您的文件夹结构现在看起来像这样:
\ MyApp
\ application
\ system
\ vendor <-- new folder with composer autoloaders and dependencies
\ index.php
\ composer.json
<强>第二步强>
最后,将Composer Autoloader添加到index.php
require __DIR__ . '/vendor/autoload.php';
就是这样......开始使用你的依赖:$mail = new PHPMailer;
参考: