【问题标题】:How to use PHPMailer via Composer on FTP如何在 FTP 上通过 Composer 使用 PHPMailer
【发布时间】:2018-11-01 00:22:10
【问题描述】:

我已经开始制作我自己的网站,我想在其中使用PHPMailer!。首先,我通过 Composer(cmd) 在我的桌面上安装了 PHPMailer,然后使用 localhost 运行我的页面,其中 PHPMailer 运行得很好。我然后尝试仅传输我的页面文件和从 PHPMailer 生成的文件(它们是:vendor 目录、composer.jsoncomposer.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.jsoncomposer.lock存在。由于某种原因,vendor 目录丢失或不在正确的位置 (/public_html/vendor)
  • 如果有,请不要使用供应商文件夹的完整绝对路径。您的代码通常应该看起来像 require 'vendor/autoload.php';,只是一个较短的相对路径 - 然后无论您在哪里运行它都可以工作。
  • 所有files都在FTP服务器上,并且代码完全按照您同步输入的方式编写。
  • 另外需要注意的是,FTP 上传可能会中断。删除供应商目录,这次上传一个压缩版本,然后在成功上传后解压。
  • 当我在 FTP 服务器上时,由于某种原因我无法从文件中提取(我正在使用总指挥官进行 FTP 访问)

标签: php ftp phpmailer composer-php


【解决方案1】:

您需要使用 SSH 而不是 FTP。

通过 SSH 连接到服务器后,您可以运行 composer install 命令来安装依赖项,就像在桌面上一样。

[编辑] 仅供参考 - 是的,我们可以上传供应商文件夹。 Composer 是一个部署工具。上传供应商文件夹不使用部署工具。

如果我要部署 100 个应用程序 - 并通过电缆/dsl 从分支机构上传 50mb 的依赖项 100 次......那有多快和高效?如果我们将 50mb 的下载量卸载到服务器上,那有多快?

我们可以选择错误地进行部署,或者正确地进行部署。

我不容忍做错事。 这显然是一个选项,但它是错误的。

【讨论】:

  • 或者...可以通过FTP上传本地生成的vendor目录composer.jsoncomposer.lock。都是一样的..
  • 上传供应商文件夹不使用作曲家。这没有按预期使用部署工具。
  • 我明白你的意思,但是否有意,这个问题与他通过 FTP 上传文件有关,因此 IMO 回答者应该坚持 OP 的情况。有很多托管环境无法访问 shell!!!
  • 我已经很长时间没有使用过这些类型的服务器,甚至没有见过。我在帖子的任何地方都没有注意到“没有 SSH 访问”。这个问题本质上是微不足道的。从这种情况下 - 可以假设 SSH 可能没有被尝试过。 (还有;我不能发布 cmets ... 否则我会发表评论。我可以发布答案但不能发布 cmets ...(???哦,你好 StackOverflow;UX Much ???)跨度>
  • @KasemO 我不明白你的意思,但即使是作曲家维护者也不鼓励在生产服务器上使用作曲家:github.com/composer/composer/issues/5367#issuecomment-220931565。因此,如果有错误的部署方式,您在回答中将其描述为“正确”的方式......
猜你喜欢
  • 2017-05-04
  • 2015-06-20
  • 1970-01-01
  • 1970-01-01
  • 2011-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-08
相关资源
最近更新 更多