WSL2 laravelプロジェクトを使用していると、権限関連のエラーがたくさん発生します。この問題は特に pdo_mysql に関連しています
P粉322106755
2023-08-17 14:14:36
<p>裏話 -</p>
<p>私は仕事用のラップトップを持っており、プロジェクトはそれで完璧に動作します。私は仕事を辞めて事業を拡大し始めましたが、その事業はもはやフルタイムの仕事を同時に兼務できない規模にまで成長していました。したがって、当然、仕事用のラップトップ、つまり Macbook を返さなければなりません。私の家のコンピュータは Windows のデスクトップコンピュータです。 </p>
<p>WSL2 Ubuntu 22.04 を使用して開発環境をセットアップしました。現在、プロジェクトのロード時に画像や CSS が表示されないことを除いて、すべてが正常に動作しています。私は問題を、pdo_mysql が機能していないようであることに絞り込みました (私は技術的にはフロントエンドですが、バックエンドはまだ混乱しているため、間違っている可能性があります)。 </p>
<p>pdo_mysql を再インストールし、ファイルのアクセス許可を変更してみました。 </p>
<p>また、最初はローカルの Windows サーバーと Linux サーバーの間にシンボリック リンクを使用して新しい作業環境を作成しましたが、これにより大幅な遅延が発生し、ほとんど使用できなくなりました (セットアップが完全に完了せず、ほぼ同じ位置に到達しました)今)。そこで、Linux サーバー上のリンク ファイルを削除してリンクを削除し、次に Linux サーバー上の GitHub プロジェクトを直接削除して、再クローンを作成しました。これが重要な情報かどうかはわかりません。 </p>
<p>プロジェクト全体に対して Linux ユーザーのアクセス許可を設定しようとしましたが、依然として多くのアクセス許可エラーが発生します。 </p>
<p><code>php -i | grep extension_dir</code> を実行すると、次のエラーが表示されます: </p>
<pre class="brush:php;toolbar:false;">fantasyroad@Louie:~$ php -i | grep extension_dir
PHP 警告: PHP 起動: ダイナミック ライブラリ 'pdo_mysql' をロードできません (試行: /usr/lib/php/20210902/pdo_mysql (/usr/lib/php/20210902/pdo_mysql: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません) )、/usr/lib/php/20210902/pdo_mysql.so (/usr/lib/php/20210902/pdo_mysql.so: 未定義シンボル: pdo_parse_params)) 0 行目不明
extension_dir => /usr/lib/php/20210902 => /usr/lib/php/20210902</pre>
<p>編集: 念のため言っておきますが、pdo_mysql ファイルは /usr/lib/php/20210902/</p> にあります。
php 関連のものをすべてアンインストールし、1 つずつ手動で再インストールすることで、この問題を解決しました。