-
Notifications
You must be signed in to change notification settings - Fork 239
常见问题
程序启动时出现错误如下,
[202X-XX-XX XX:XX:XX] Bilibili.ERROR: MSG: Class 'GuzzleHttp\Client' not found CODE: 0 FILE: ...\src\core\Curl.php LINE: 209
[202X-XX-XX XX:XX:XX] Bilibili.ERROR: MSG: Class 'GuzzleHttp\Client' not found CODE: 0 FILE: ...\src\core\Curl.php LINE: 209
[202X-XX-XX XX:XX:XX] Bilibili.ERROR: MSG: Class 'GuzzleHttp\Client' not found CODE: 0 FILE: ...\src\core\Curl.php LINE: 209
[202X-XX-XX XX:XX:XX] Bilibili.INFO: 开始启动程序...
未运行 Composer 获取运行相关依赖包
确认已经安装好 Composer, 在程序根目录运行命令 composer install
PS. 如果你觉得仍然有问题,可以删除程序根目录下 vendor
文件夹和 composer.lock
文件,并在程序根目录下重新运行命令 composer clearcache
和 composer install
程序启动时出现错误如下,
[202X-XX-XX XX:XX:XX] Log.WARNING CURl -> RETRY: 0 ERROR: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) ERRNO: 0 STATUS: Waiting for recovery!
[202X-XX-XX XX:XX:XX] Log.WARNING CURl -> RETRY: 1 ERROR: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) ERRNO: 0 STATUS: Waiting for recovery!
[202X-XX-XX XX:XX:XX] Log.WARNING CURl -> RETRY: 2 ERROR: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) ERRNO: 0 STATUS: Waiting for recovery!
[202X-XX-XX XX:XX:XX] Log.WARNING CURl -> RETRY: 3 ERROR: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) ERRNO: 0 STATUS: Waiting for recovery!
参见 https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html#verify
如下所示,修改配置文件 user.conf
中 VERIFY_SSL
参数为 false
# 验证SSL证书|请求时验证SSL证书行为
VERIFY_SSL=false
程序启动时出现错误如下,
[202X-XX-XX XX:XX:XX] Bilibili.INFO: 开始启动程序...
[202X-XX-XX XX:XX:XX] Bilibili.INFO: 正在检查令牌合法性...
[202X-XX-XX XX:XX:XX] Bilibili.ERROR: 检查令牌失败 {"msg":"user not login"}
[202X-XX-XX XX:XX:XX] Bilibili.WARNING: 令牌即将过期
[202X-XX-XX XX:XX:XX] Bilibili.INFO: 申请更换令牌中...
[202X-XX-XX XX:XX:XX] Bilibili.ERROR: 重新生成令牌失败 {"msg":"user not login"}
[202X-XX-XX XX:XX:XX] Bilibili.WARNING: 无效令牌,正在重新申请...
[202X-XX-XX XX:XX:XX] Bilibili.ERROR: 空白的账号和口令!
配置文件 user.conf
中输入了错误输入了令牌相关信息,或输入了错误的账号和密码,或没有输入账号和密码
修改配置文件 user.conf
中的 APP_USER
和 APP_PASS
为你的账号和密码,请勿尝试 ACCESS_TOKEN
, REFRESH_TOKEN
和 COOKIE
后面自行填入参数
以账号 laozi@example.com
和密码 laozidemima
为例,输入应该如下所示
# 帐号|密码
APP_USER=laozi@example.com
APP_PASS=laozidemima
# 令牌(自动生成)
ACCESS_TOKEN=
REFRESH_TOKEN=
COOKIE=
PHP Fatal error: Uncaught Dotenv\Exception\InvalidFileException: Failed to parse dotenv file due to invalid name. Failed at [#######################]. in .../vendor/vlucas/phpdotenv/src/Loader/Parser.php:77
配置文件 user.conf
中含有不能处理的参数
请检查配置文件 user.conf
是否有输入错误的地方,Windows 建议使用 Notepad++ 重新编辑保存配置文件
Warning: pcntl_signal_dispatch() has been disabled for security reasons in .../vendor/amphp/amp/lib/loop/NativeDriver.php on line 141
PHP Warning: pcntl_signal_dispatch() has been disabled for security reasons in .../vendor/amphp/amp/lib/loop/NativeDriver.php on line 141
基于安全理由 pcntl_signal_dispatch()
在 PHP 配置文件中被禁用
找到 PHP 的配置文件 php.ini
(通常位于 PHP 的安装目录下),搜索 disable_functions
或 pcntl_signal_dispatch
,然后把 disable_functions
等号后面的 pcntl_signal_dispatch,
删掉,或者在 disable_functions
前面加上 ;
(英文分号)
PHP Warning: 'vcruntime140.dll' 14.0 is not compatible with this PHP build linked with 14.16 in Unknown on line 0
最新版本的 PHP 使用 VC15 或 VS16(分别使用 Visual Studio 2015、2017 或 2019 编译器)构建,并在性能和稳定性方面进行了改进
使用这些版本的 PHP 需要安装 Visual Studio 2015-2019 x64 或 x86 的 Visual C++ Redistributable 组件
[202X-XX-XX XX:XX:XX] Bilibili.ERROR: MSG: Call to undefined function Socket\Raw\socket_create() CODE: 0 FILE: ...\vendor\clue\socket-raw\src\Factory.php LINE: 177
没有(正确)指定 PHP 扩展组件文件夹位置
找到 PHP 的配置文件 php.ini
(通常位于 PHP 的安装目录下), 根据启动扩展,如下所示
extension=sockets
or
extension=php_sockets.dll
or
extension=php_sockets.so
如启用扩展后依旧有同样报错,搜索 extension_dir
,然后把 extension_dir
前面的 ;
(英文分号)删掉,如下所示
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
;extension_dir = "./"
; On windows:
extension_dir = "ext"