質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.49%

ComposerとLaravelをサーバーから完全にアンインストールしたい

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 3,577

score 4

LaravelをアンインストールしたのにDBエラーが出る

初めまして、PHPとMySQLを使って小さなサービスを作ろうとしている者です。

先日、契約しているXServerにComposerとLaravelをSSH接続でインストールしました。

しかし、イマイチ使い方が分からなかったため諦めてアンインストールすることにしました。
Composerでインストールしたと思われるディレクトリなどをFTPで削除したのですが、
公開しているWebサービスからPDOでDBテーブルの登録と追加をするプログラムのところで、

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'XXXX.workInfo' doesn't exist 


と出てしまいます。
XXXXがDB名、workInfoが作成・追加しようとしているテーブル名です。
(セキュリティの関係上DB名は伏せさせて頂きます)

これらを解消して、プレーンなPHPでの動作に戻したいのですが、解決に至りませんでした。
ComposerとLaravelをインストールするまでは問題なく動いていました。

該当のソースコード

try {
    // require_onceを使って事前にDBの接続に使用するユーザ名とパスは取得済み
    $pdo = new PDO(DSN, DB_USER, DB_PASS);
    $stmt = $pdo->prepare('select id, username from userData where email = ?');
    $stmt->execute([$_SESSION['EMAIL']]);
    $row = $stmt->fetch(PDO::FETCH_ASSOC);
} catch (\Exception $e) {
    $message = h($e->getMessage());
}

//テーブルがない場合は作成
try {
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $pdo->exec("create table if not exists workInfo(
        ... 作成するテーブルの内容 ...
    )");
} catch (Exception $e) {
    $message = $e->getMessage().PHP_EOL;
}

// POSTしたデータを変数に格納する部分は省略

//登録処理
try {
    $stmt = $pdo->prepare("insert into workInfo(
        ... 省略 ...
    ) value(
        ... 省略 ...
    )");
    $stmt->execute([
        //... 省略 ...
    ]);
    try {
        $stmt = $pdo->prepare('select workId from workInfo where workName = ?');
        $stmt->execute([$workName]);
        $row = $stmt->fetch(PDO::FETCH_ASSOC);
    } catch (\Exception $e) {
        $message = $e->getMessage().PHP_EOL;
    }
} catch (\Exception $e) {
    $message = $e->getMessage().PHP_EOL; // ここでエラーが出力されている
}

試したこと

まずサービスサイト側でディレクトリや設定などの初期化を行いましたが、改善せず。
ComposerやLaravelなどがまだ残留しているのかと思い、以下のサイトを参考にしました。
[PHP]Composer自体を完全にアンインストールする方法
laravel(きれいに)アンインストールする方法

しかし~/vendor/というディレクトリはFTPで削除したので存在しません
composer.pharも存在しませんが、composer -vコマンドでComposer version 1.8.5と出てきます。

また、オンライン上のサーバの管理パネルではPHP7.2.17となっているのですが、
SSHのルートディレクトリでphp -vするとPHP 5.4.16 (cli)となっています。

補足情報

  • Server : XServer (8000番台)
  • MySQL : MySQL5.7

インストール時に参考にしたサイト

インストールはcurl -sS https://getcomposer.org/installer | phpを使用しました。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • m.ts10806

    2019/09/25 09:30

    「省略」としているSQLは省略せず全文提示された方が良さそうにも思います。DBに対して直接実行確認されましたか?

    キャンセル

  • saguzi

    2019/09/25 09:33

    >なんのために入れたのでしょうか。
    外部アカウントを使用したログインシステムが充実している、セキュリティ回りがプレーンなPHPと比べて強固だということで使用しようと思い至りました。

    >起動用のファイルやプロジェクト用のプログラムが配置されるだけなので起きている問題とは無関係と思います。
    ご回答ありがとうございます。もしかしたら同時にインストールしたNode.jsが原因かもしれないと思い始めたので改めて原因を精査したいと思います。

    キャンセル

  • saguzi

    2019/09/25 09:35

    >「省略」としているSQLは省略せず全文提示された方が良さそうにも思います。
    省略している部分はいずれも30行ほど変数や列名などを羅列しているため省略致しました。

    >DBに対して直接実行確認されましたか?
    それまで問題なく動作していたためこちらを怠っていました。
    改めて確認したいと思います。

    キャンセル

回答 1

check解決した方法

0

自己解決致しました。
PDOに指定していたSQL文が間違っており、作成する予定のテーブル名が異なる名前で作成されてしまいエラーとなっていたようです。
ご迷惑をお掛け致しました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る