我们有一个Web应用程序运行在使用Laravel构建的共享主机帐户上。现在,我们需要实现一个付款网关,该付款网关需要SDK的供应商软件包。但是,如前所述,作曲家完全不支持当前的托管公司。
为使Laravel在共享主机上运行而采取的步骤:
git pull
不幸的是,我们不得不单独打包vendor文件夹,然后将其推送到服务器上(因为在没有作曲家的情况下不建议这样做),这是当时的唯一选择。
通过一些奇迹,我们使应用程序可以正常运行。
我们现在面临的问题是,我们需要通过composer为需要实现的支付网关安装SDK软件包。
我们首先在开发机器上进行了新模块的初始设置和构建,但现在面临的问题是,仅将SDK推入vendor文件夹不起作用,它仍然抱怨找不到类文件。而且我没有办法做composer dump-autoload -o
我们甚至重新打包了vendor文件夹的更新版本,删除了应用程序中的当前文件夹,然后从GitHub上进行了另一个下拉操作,但这会引发类的所有bootstrap/app.php
问题找不到。
我们确实尝试使用手动下载的composer版本强制allow_url_fopen=1
,但是共享的托管PHP CLI为5.6,并且需要PHP 7.0。
很遗憾,我们陷入困境,我们将不胜感激任何建议。
答案 0 :(得分:0)
尝试通过composer.json和composer.lock复制并运行在composer.json中找到的php artisan命令
答案 1 :(得分:0)
某些背景
:PHP5.6已过时,PHP不再支持。因此,许多托管服务商从他们的服务器中删除了此版本(至少在德国)。一些已经开始,其他一些将在2019年初开始。根据我的经验,托管服务商的服务器上已经有较新的版本,需要在域中的配置面板中手动激活这些版本。
对于CLI PHP,您可以通过ssh到您的服务器来检查它,并键入php
,然后按两次TAB
。这给了我这个:
php php53 php54 php55 php56 php70 php71 php72
Composer使用默认的/usr/bin/php
,它可能被符号链接到您的Web空间上的php56。但是,您也可以通过以下任何其他PHP版本调用Composer:
php71 composer.phar
如果您的托管服务商不支持任何较新的PHP版本,出于安全原因,我会要求他提供托管服务,或者尽快迁移到另一个。