我已经使用 Composer 安装了 phpoffice/phpspreadsheet。它安装在基本的“供应商”目录中。但是,我需要使用它的地方是在子域目录中。我手动将其移至不同的“供应商”目录。
更深一点../public_html/subdomains/newsite/vendor/
我正在从文件中调用代码更深一点../backend/web/xlsx.php
我的实际代码如下:
<?php
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
require '../../vendor/autoload.php';
$spreadsheet = new Spreadsheet();
?>
Run Code Online (Sandbox Code Playgroud)
仅使用这个简单的设置,我就会收到以下致命错误:
Class 'PhpOffice\PhpSpreadsheet\Spreadsheet' not found
Run Code Online (Sandbox Code Playgroud)
我还在学习一些关于命名空间和作曲家的知识,当我手动移动文件时,我可能错过了一些东西。
任何帮助将不胜感激。
谢谢你!
我正在尝试在我的控制台应用程序中添加一些错误捕获块。
具体来说,例如我有一个 SQL 代码块,
$query = "SELECT * FROM
visits_column_maps";
$mapsAry = Yii::$app->db->createCommand($query)->queryAll();
Run Code Online (Sandbox Code Playgroud)
如果出现问题,则会引发异常并结束脚本。
我想抓住这个并按照我的意愿结束它。
我尝试了 try/catch 块;
try {
$query = "SELECT * FROM
visits_column_maps";
$mapsAry = Yii::$app->db->createCommand($query)->queryAll();
} catch(Exception @e) {
// graceful exit here
echo "Exception caught";
exit();
}
Run Code Online (Sandbox Code Playgroud)
但是当通过更改表名称进行测试时,我仍然在捕获它之前得到脚本终止。
我想我可能需要在某个地方调整配置,但不确定在哪里。
感谢您提供的任何帮助。斯科蒂