前提・実現したいこと
Docker環境下のlaravelでphpQueryを使用するために、composerからphpQueryをインストールして、autoload機能を使用しControllerから呼び出したい。
発生している問題・エラーメッセージ
●初回、試したこと1、2のエラー Symfony\Component\Debug\Exception\FatalErrorException main(): Failed opening required 'vendor/autoload.php' (include_path='.:/usr/local/lib/php') ●試したこと3、4のエラー Fatal error: Uncaught Error: Class 'vendor\autoload\ComposerAutoloaderInit6a5e7bdea42e3bc9a9faa7ba76ac283e' not found in /work/backend/vendor/autoload.php:9 Stack trace: #0 /work/backend/public/index.php(24): require() #1 {main} thrown in /work/backend/vendor/autoload.php on line 9 ●試したこと5のエラー Symfony\Component\Debug\Exception\FatalErrorException main(): Failed opening required '/vendor/autoload.php' (include_path='.:/usr/local/lib/php')
該当のソースコード
●Controller.php <?php namespace App\Http\Controllers; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Routing\Controller as BaseController; require_once 'vendor/autoload.php'; class Controller extends BaseController { use AuthorizesRequests, DispatchesJobs, ValidatesRequests; function testQuery(){ echo "hello from controller"; $html_dom = phpQuery::newDocument("https://brainlog.jp/programming/php/post-437/#outline__2_1"); $scraped_str = $html_dom["title"]->text(); echo( $scraped_str ); } } ●autoload.php <?php // autoload.php @generated by Composer // namespace vendor\autoload; require_once __DIR__ . '/composer/autoload_real.php'; return ComposerAutoloaderInit6a5e7bdea42e3bc9a9faa7ba76ac283e::getLoader();
試したこと
1、composer再インストール
2、composer update --no-scriptsの実行
3、authload.phpにnamespaseをつけてみる
4、3の状態でuseを使って呼び出してみる
5、autoload.phpのreturn ComposerAutoloaderInit6a5e7bdea42e3bc9a9faa7ba76ac283e::getLoader();を、autoload_real.phpのクラス名に書き換え
補足情報(FW/ツールのバージョンなど)
Laravel Framework 6.20.14
Composer version 2.0.8
Docker version 20.10.2
回答2件
あなたの回答
tips
プレビュー