我正在处理一些带有文件转换docx to pdf
的项目,我使用的共享主机服务器没有ssh
连接,只有Ftp
使用的选项。
所以有没有选项可以将包作为库提取而不使用编辑器,如phpword
,它是可移植的,可以基本复制到服务器文件夹中,但转换器包只能用composer
。
我试图从包中提取所需的文件,但似乎它们在核心需要autoloader.php,我看到的唯一选择只是修改源文件以便于使用。
如果有可能,可以选择如何更容易吗?
我是composer
的新手,这让我很难理解便携式使用的提取包的可能性。
有什么建议吗? 谢谢!
答案 0 :(得分:3)
是的,我遇到了这位作曲家'问题也是如此。由于各种原因,很多开发人员似乎都喜欢它,但是,如果你想尝试一个小包,或者你只有FTP访问权限,它只会引入另一个依赖项。对于大型框架,我可以理解这一点,但对于一小部分代码,只有很少的类,这没有任何意义。
示例:我想以ODS格式输出Excel文件,并找到了一段相对简单的代码:
https://github.com/Lapinator/odsPhpGenerator
不幸的是,最新版本取决于作曲家。没有提供其他使用代码的方法。开发人员可能认为这是一个优势?好吧,我不是。那么该怎么办?被迫沿着作曲家路径,或者破解代码?
后者可能比您想象的要简单得多。我们所需要的只是 autoload.php 文件的内容。该文件可能会告诉PHP在哪里使用SPL函数查找包的类。你可以尝试编写自己的自动加载器,但我的包需要它的所有php文件,所以我只是写了这个:
@Query
将 autoload.php 添加到包后,无需使用composer即可使用。
在我看来,开发人员应该提供一种方法来尝试这样一个小包,而无需通过编写器进程。他们可能不会这样做,因为他们想要做正确的事情'。而且,当然,一旦你习惯了作曲家,那就没什么大不了的了。
答案 1 :(得分:0)
您可以在计算机上执行composer install
,然后将所有文件复制到服务器。 vendor
文件夹包含所有作曲家依赖项。
答案 2 :(得分:0)
请注意,Composer不是库安装程序。它不应该在生产服务器上运行,而每个人都在等待网站在更新后重新启动。
我认为只提供FTP访问权限的托管公司可能不应该得到你的钱(由于安全原因,你的密码是以明文形式传输,供所有人阅读),但是当涉及到Composer时,你不要在服务器上使用SSH,只能在本地计算机上使用。
确保您在本地和远程运行相同的PHP版本,或者您将安装不能与远程PHP版本一起使用的库。