2016-12-14 76 views
1

我只是在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文件夹内我已经composerphpmailer文件夹,如果我有手动PHPMailer的类时,我包括作曲家自动加载我没有得到任何错误,这才会发生。

这是autoload.php内容:

<?php 

// autoload.php @generated by Composer 

require_once __DIR__ . '/composer/autoload_real.php'; 

return ComposerAutoloaderInit13c998efcdd189d437d19150f7ef3bc9::getLoader(); 
+0

取代你'include'用'包括__DIR__。 '/application/assets/vendor/autoload.php';' – Federkun

+0

@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

+0

您是否删除/更改了'composer'文件夹中的内容?再次运行'composer update' – Federkun

回答

0

我不知道,如果在子文件夹/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;

引用:

+0

解决了我自己创建的主页自动加载器 – AgainMe

相关问题