🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

composer

Composerとは、PHP5.3.2以上で使用可能なパッケージ管理ツールです。指定ディレクトリ内だけでパッケージ管理します。

Q&A

解決済

1回答

6422閲覧

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

saguzi

総合スコア4

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

composer

Composerとは、PHP5.3.2以上で使用可能なパッケージ管理ツールです。指定ディレクトリ内だけでパッケージ管理します。

0グッド

0クリップ

投稿2019/09/24 13:18

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をインストールするまでは問題なく動いていました。

該当のソースコード

PHP

1try { 2 // require_onceを使って事前にDBの接続に使用するユーザ名とパスは取得済み 3 $pdo = new PDO(DSN, DB_USER, DB_PASS); 4 $stmt = $pdo->prepare('select id, username from userData where email = ?'); 5 $stmt->execute([$_SESSION['EMAIL']]); 6 $row = $stmt->fetch(PDO::FETCH_ASSOC); 7} catch (\Exception $e) { 8 $message = h($e->getMessage()); 9} 10 11//テーブルがない場合は作成 12try { 13 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 14 $pdo->exec("create table if not exists workInfo( 15 ... 作成するテーブルの内容 ... 16 )"); 17} catch (Exception $e) { 18 $message = $e->getMessage().PHP_EOL; 19} 20 21// POSTしたデータを変数に格納する部分は省略 22 23//登録処理 24try { 25 $stmt = $pdo->prepare("insert into workInfo( 26 ... 省略 ... 27 ) value( 28 ... 省略 ... 29 )"); 30 $stmt->execute([ 31 //... 省略 ... 32 ]); 33 try { 34 $stmt = $pdo->prepare('select workId from workInfo where workName = ?'); 35 $stmt->execute([$workName]); 36 $row = $stmt->fetch(PDO::FETCH_ASSOC); 37 } catch (\Exception $e) { 38 $message = $e->getMessage().PHP_EOL; 39 } 40} catch (\Exception $e) { 41 $message = $e->getMessage().PHP_EOL; // ここでエラーが出力されている 42}

試したこと

まずサービスサイト側でディレクトリや設定などの初期化を行いましたが、改善せず。
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を使用しました。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/09/24 21:17

>しかし、イマイチ使い方が分からなかったため 使い方を調べたり、わからないことを質問して解決しようと思わなかったのでしょうか。
saguzi

2019/09/25 00:21

>使い方を調べたり、わからないことを質問して解決しようと思わなかったのでしょうか。 ある程度はネットで調べたりしたのですが、現状プレーンなPHPである程度実装を進めてしまっており、起動したLaravelからプログラミングを行わなければならず、現状のプログラムは意味がなく、また上掲のコードのようにテーブルが無ければ作成してインサートするということが出来ないようで(プロジェクトファイルに書き込んで再読み込みさせる必要があり)、リリースを優先するためLaravelをアンインストールすることにしました。
m.ts10806

2019/09/25 00:27

なんのために入れたのでしょうか。いずれにしてもcomposerもLaravelも「インストール」といっても起動用のファイルやプロジェクト用のプログラムが配置されるだけなので起きている問題とは無関係と思います。
m.ts10806

2019/09/25 00:30

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

2019/09/25 00:33

>なんのために入れたのでしょうか。 外部アカウントを使用したログインシステムが充実している、セキュリティ回りがプレーンなPHPと比べて強固だということで使用しようと思い至りました。 >起動用のファイルやプロジェクト用のプログラムが配置されるだけなので起きている問題とは無関係と思います。 ご回答ありがとうございます。もしかしたら同時にインストールしたNode.jsが原因かもしれないと思い始めたので改めて原因を精査したいと思います。
saguzi

2019/09/25 00:35

>「省略」としているSQLは省略せず全文提示された方が良さそうにも思います。 省略している部分はいずれも30行ほど変数や列名などを羅列しているため省略致しました。 >DBに対して直接実行確認されましたか? それまで問題なく動作していたためこちらを怠っていました。 改めて確認したいと思います。
guest

回答1

0

自己解決

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

投稿2020/09/18 16:07

saguzi

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問