【发布时间】:2018-11-01 00:22:10
【问题描述】:
我已经开始制作我自己的网站,我想在其中使用PHPMailer!。首先,我通过 Composer(cmd) 在我的桌面上安装了 PHPMailer,然后使用 localhost 运行我的页面,其中 PHPMailer 运行得很好。我然后尝试仅传输我的页面文件和从 PHPMailer 生成的文件(它们是:vendor 目录、composer.json、composer.lock) 到 FTP。当我尝试在实时页面上运行它时它不起作用并抛出错误:
Fatal error: require(): Failed opening required '/www/sites/0/site25740/public_html/vendor/composer/ClassLoader.php'
(include_path='.:/usr/share/php:/usr/local/zend/share/ZendFramework/library') in
/www/sites/0/site25740/public_html/vendor/composer/autoload_real.php on line 12
我认为我的问题是我将这些文件生成到我的桌面目录中,因此它们无法在实时页面上运行。 有什么方法可以在我的 FTP 服务器上生成这些文件,或者更改这些文件的结构以在实时页面上工作?
【问题讨论】:
-
欢迎来到 StackOverflow。请检查您的FTP服务器,如果
vendor目录、composer.json和composer.lock存在。由于某种原因,vendor目录丢失或不在正确的位置 (/public_html/vendor) -
如果有,请不要使用供应商文件夹的完整绝对路径。您的代码通常应该看起来像
require 'vendor/autoload.php';,只是一个较短的相对路径 - 然后无论您在哪里运行它都可以工作。 -
所有files都在FTP服务器上,并且代码完全按照您同步输入的方式编写。
-
另外需要注意的是,FTP 上传可能会中断。删除供应商目录,这次上传一个压缩版本,然后在成功上传后解压。
-
当我在 FTP 服务器上时,由于某种原因我无法从文件中提取(我正在使用总指挥官进行 FTP 访问)
标签: php ftp phpmailer composer-php