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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

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

アップロード

アップロードは特定のファイルをウェブサーバに送るプロセスのことを指します。

Q&A

2回答

1066閲覧

PHPで作った掲示板をHerokuを使ってデプロイしたところ、ローカルでは正常に動いたのですが、、、、

msy7822

総合スコア17

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

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

アップロード

アップロードは特定のファイルをウェブサーバに送るプロセスのことを指します。

0グッド

0クリップ

投稿2020/06/29 00:40

phpで作った掲示板をHerokuを使ってデプロイし、デプロイ自体には成功して、無事アップロードが完了したわけなのですが、いざアプリケーションを開いてみると、

「SQLSTATE[HY000] [2002] No such file or directory」

このような一文が出てきてしまい、phpとMySQLとを接続できず、 PDOのインスタンスも無効になってしまいます。

ローカルでの作業時には特にこれといってエラーメッセージが表示されることはなかったので、phpとMySQLを接続するコード自体には問題はないのでは、と自分は考えています。

php

1 // DB接続のためのプログラム 2 3 ini_set('display_errors', 1); 4 5 $dsn = 'mysql:dbname=xxxxxxdb;host=localhost;charset=utf8'; 6 $user = 'xxxxxxx'; 7 $password = 'xxxxxxx'; 8 9 try{ 10 11 // インスタンスの生成 12 $pdo = new PDO($dsn, $user, $password, 13 array( 14 PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING, 15 PDO::ATTR_EMULATE_PREPARES => false, 16 )); 17 18 }catch(PDOException $e){ 19 echo "DB接続のエラー : ".$e->getMessage(); 20 } 21

MySQLとの接続部分のコードは、上記のようになっています。

※他人に知られたら不味そうな部分は「xxxxxx」のようにしてあります。

まだphpの学習をし始めて非常に日が浅いのでどなたか詳しい方のお力をお借りできれば幸いです。

どうぞ、よろしくお願いします。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/06/29 01:07

Herokuでのデータベース接続に関して、ローカル環境での開発のままじゃないんじゃないかなって考えて、情報収集するとよいのではないかと。よそのレンタルサーバーでも、データベースサーバーはlocalhostじゃなく違うサーバーアドレスを入力することが多いです。
msy7822

2020/06/29 01:21

つまり、コードの$dns = 〜部分でhost=localhostとなっている部分がローカル設定になっているから、エラーが発生しているという解釈で間違えないですか??
退会済みユーザー

退会済みユーザー

2020/06/29 02:14

「heroku mysql 接続」あるいは「heroku mysql 設定」などとして関連情報を収集し、設定不足仕込み不足がないかを確認してください。私はherokuの専門家ではないので、誰かの事例を真似して設定するところから始めてはいかがでしょうか。
msy7822

2020/06/29 03:20

いろいろなソースを漁ってみたところ、DB接続のエラーが表示されなくなったので、おそらく無事に接続が完了したと思われます! ですが新たに別のエラーが発生しているのでそっちの解決を試みます!
退会済みユーザー

退会済みユーザー

2020/06/29 03:39 編集

質問内容と状況が変わってきたのであれば、どうやって解決に至ったかを自分で解答欄に記入してBAつけて別途質問を起こすのが一つ(オヌヌメ)、あるいは、質問文を編集して現状に合わせて見直しをかけるのも一つです。
guest

回答2

0

This is different platform, You've to know how to work on it. Better to shift another Php Hosting to get best and better experience.

投稿2020/11/15 13:20

EmmaEmily

総合スコア2

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

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

0

Heroku is a different kind of platform. You need to know sysadmin stuff to work on it. It is better to stick with platforms, like Cloudways PHP hosting for easy and quick deployment.

投稿2020/06/29 15:57

olidev

総合スコア8

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問