php - 在 composer-php 安装中似乎不存在包含包
问题描述
我在 unbuntu 16 上安装了两个带有 composer 的软件包:
- phpoffice/php电子表格
- setasign/fpdi-tcpdf:2.1
两者都安装好了,这是 phpoffice 的输出。
Using version ^1.5 for phpoffice/phpspreadsheet
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 3 installs, 0 updates, 0 removals
- Installing markbaker/complex (1.4.7): Downloading (100%)
- Installing psr/simple-cache (1.0.1): Downloading (100%)
- Installing phpoffice/phpspreadsheet (1.5.2): Downloading (100%)
phpoffice/phpspreadsheet suggests installing mpdf/mpdf (Option for rendering PDF with PDF Writer)
phpoffice/phpspreadsheet suggests installing dompdf/dompdf (Option for rendering PDF with PDF Writer)
phpoffice/phpspreadsheet suggests installing jpgraph/jpgraph (Option for renderi ng charts, or including charts with PDF or HTML Writers)
Writing lock file
Generating autoload files
对于这两个我都使用了他们主页上的基本示例,例如 phpoffice 之一(https://phpspreadsheet.readthedocs.io/en/develop/)
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$writer = new Xlsx($spreadsheet);
$writer->save('hello world.xlsx');
运行此程序时,我在 apache 错误日志中得到以下信息(在运行 fpdi-tcpdf 时我得到类似的日志。)
[Thu Dec 06 21:14:42.835498 2018] [:error] [pid 1582] [client 192.168.223.1:53200] PHP Warning: require(vendor/autoload.php): failed to open stream: No such file or directory in /var/www/html/custom/excel.php on line 3
[Thu Dec 06 21:14:42.835716 2018] [:error] [pid 1582] [client 192.168.223.1:53200] PHP Fatal error: require(): Failed opening required 'vendor/autoload.php' (include_path='.:/usr/share/php') in /var/www/html/custom/excel.php on line 3
解决方案
感谢 Krlv
我使用以下命令找到了供应商文件夹:
composer config --list --global
然后替换
require 'vendor/autoload.php';
使用 autoload.php 的完整路径,它已经工作了。
推荐阅读
- json - 访问 json 模式中另一个对象的枚举值
- r - 使用 R 语言在 Shiny 中绘制实时图表
- ffmpeg - ffmpeg mp4 到 hls 类似持续时间的块
- android - 安卓服务暂停
- jquery - 如何在jquery中获取视频高度
- jenkins - 在使用 Jenkinsfile 等待节点之前发布构建状态
- openshift - Openshift Origin 没有启动 webconsole
- azure - 访问 Azure 资源上的个人用户
- java - 如何使用 selenium 和 java 中的属性搜索元素
- xpath - XPATH 获取 glyphicon glyphicon-star