未能打开流使用
我只是在probject文件夹包含通过作曲家运行此命令的PHPMailer的作曲家自动加载:composer require phpmailer/phpmailer
里面的文件夹:application/assets/
未能打开流使用
我在index.php文件包含以下命令:
include 'application/assets/vendor/autoload.php';
但不幸的是我得到这个错误:
Warning: include(application/assets/vendor/autoload.php): failed to open stream: No such file or directory in /var/www/html/projects/MyApp/index.php on line 74
这是我的应用程序的树视图:
>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();
我不知道,如果在子文件夹/application/assets/
安装是必须的,但我建议使用标准文件夹布局:
第一步 创建一个composer.json
旁边的index.php
\- MyApp
\- application
\- system
\- index.php
\- composer.json
然后加入phpmailer/phpmailer
到这个composer.json
文件的要求部分:
{
"require": {
"phpmailer/phpmailer": "^5.2"
}
}
然后运行composer update
。
(或者,你也可以在MyApp
文件夹中运行composer require phpmailer/phpmailer
它会自动生成composer.json
文件给你。)
的依赖将提取到的文件夹:vendors
,这意味着你的文件夹结构看起来像这样现在:
\ MyApp
\ application
\ system
\ vendor <-- new folder with composer autoloaders and dependencies
\ index.php
\ composer.json
第二步 最后,作曲家自动加载机添加到您的index.php
require __DIR__ . '/vendor/autoload.php';
就是这样......开始使用你的依赖:$mail = new PHPMailer;
引用:
解决了我自己创建的主页自动加载器 – AgainMe
取代你'include'用'包括__DIR__。 '/application/assets/vendor/autoload.php';' – Federkun
@Federkun如果我替换它,我得到这个URL:'/ var/www/html/projects/MyApp/application/assets/vendor/autoload。这个错误信息:'Warning:require_once(/var/www/html/projects/MyApp/application/assets/vendor/composer/autoload_real.php):无法打开流:没有这样的文件或目录在/ var /第5行的www/html/projects/MyApp/application/assets/vendor/autoload.php' – AgainMe
您是否删除/更改了'composer'文件夹中的内容?再次运行'composer update' – Federkun