You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel部署到Plesk服务器后smalot/pdfparser类找不到的解决方法

解决Plesk服务器上Laravel项目中Smalot/PdfParser类找不到的问题

1. 重新在服务器上安装依赖

不要直接复制本地的vendor目录,必须在Plesk服务器上重新执行composer安装:

  • 登录Plesk终端或通过SSH连接服务器,进入Laravel项目根目录
  • 运行命令:
    composer install --no-dev --optimize-autoloader
    
    其中--no-dev确保只安装生产环境依赖,--optimize-autoloader生成优化的自动加载文件,避免类路径解析错误。

2. 检查composer自动加载配置

确认项目根目录的composer.json中,autoload部分包含正确的PSR-4映射:

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Smalot\\PdfParser\\": "vendor/smalot/pdfparser/src/Smalot/PdfParser/"
    }
},

如果缺少该映射,添加后运行composer dump-autoload --optimize更新自动加载缓存。

3. 修正类调用路径

报错中出现的src\Smalot\PdfParser\Parser是错误路径,确保控制器中的调用使用正确的完全限定类名:

// 正确调用方式
$parser = new \Smalot\PdfParser\Parser();

4. 调整文件权限

  • 确保vendor目录及其子目录权限设置正确(通常目录为755,文件为644)
  • 避免用root用户执行composer命令,使用Plesk分配的网站用户运行安装,防止权限冲突。

5. 清理Laravel缓存

如果旧的类缓存导致路径残留,运行以下命令清理:

php artisan cache:clear
php artisan config:clear
php artisan optimize:clear

内容的提问来源于stack exchange,提问作者Aniket Kannaujiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 06:47:06