【发布时间】:2020-11-28 08:29:00
【问题描述】:
通过composer安装包并导入:
mkdir myproject
cd myproject
composer require metowolf/meting
mkdir public
touch public/index.php
在 index.php 中加载它:
cd public
vim index.php
<?php
require __DIR__ . '/../vendor/autoload.php';
use Metowolf\Meting;
$api = new Meting('netease');
显示项目目录结构:
tree myproject
myproject
├── composer.json
├── composer.lock
├── public
│ └── index.php
└── vendor
├── autoload.php
├── composer
│ ├── autoload_classmap.php
│ ├── autoload_namespaces.php
│ ├── autoload_psr4.php
│ ├── autoload_real.php
│ ├── autoload_static.php
│ ├── ClassLoader.php
│ ├── installed.json
│ └── LICENSE
└── metowolf
└── meting
├── composer.json
├── LICENSE
├── README.md
└── src
└── Meting.php
在浏览器127.0.0.1/myproject/public中验证它,它工作正常,包Megting已加载。
现在,我想以交互模式加载它:
php -d auto_prepend_file=/home/debian/myproject/vendor/metowolf/meting/src/Meting.php -a
Interactive mode enabled
php > use Metowolf\Meting;
php > $api = new Meting('netease');
PHP Warning: Uncaught Error: Class 'Meting' not found in php shell code:1
Stack trace:
#0 {main}
thrown in php shell code on line 1
为什么auto_prepend_file在php的交互模式下不起作用?
【问题讨论】:
标签: php load interactive