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

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

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

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

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

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

2回答

2724閲覧

cakephpのtop画面が崩れてしまって正しく機能しない

makura

総合スコア8

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

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

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2016/12/13 08:29

編集2016/12/13 09:36

###前提
cakephpでweb serviceを作っていたのですが、ローカル開発環境のデータがなくなってしまい、
githubからcloneしてきたソースコードを元に、再びローカル環境を構築しようといています。

###発生している問題・エラーメッセージ
httpd.confをいじってサイトが表示されるところまではきたのですが、
表示画面(TOP)が崩れてしまい、その他の操作もすることができないという状況に陥ってしまいました。

[崩れた画面]
正しく表示されない

[正しい画面]
イメージ説明

###該当のソースコード

[TOP画面のソースを表示]

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> うついったー </title> <link href="/favicon.ico" type="image/x-icon" rel="icon"/><link href="/favicon.ico" type="image/x-icon" rel="shortcut icon"/><link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css"/><link rel="stylesheet" type="text/css" href="/css/style.css"/> <meta name="viewport" content="width=device-width"> <style> body { padding-top: 70px; } </style> </head> <body> <div id="wrap"> <div class="navbar navbar-default navbar-fixed-top" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="glyphicon glyphicon-align-justify"></span> </button> <a href="/" class="navbar-brand">うついったー</a> </div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav navbar-right"> <li><a href="/users/login">Login</a></li> </ul> </div><!--/.nav-collapse --> <div class="modal" id="post-modal"> <div class="modal-dialog post-modal-dialog"> <div class="modal-content"> <div class="modal-body"> <button type="button" class="close" data-dismiss="modal">×</button> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> うついったー </title> <link href="/favicon.ico" type="image/x-icon" rel="icon"/><link href="/favicon.ico" type="image/x-icon" rel="shortcut icon"/><link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css"/><link rel="stylesheet" type="text/css" href="/css/style.css"/> <meta name="viewport" content="width=device-width"> <style> body { padding-top: 70px; } </style> </head> <body> <div id="wrap"> <div class="navbar navbar-default navbar-fixed-top" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="glyphicon glyphicon-align-justify"></span> </button> <a href="/" class="navbar-brand">うついったー</a> </div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav navbar-right"> <li><a href="/users/login">Login</a></li> </ul> </div><!--/.nav-collapse --> <div class="modal" id="post-modal"> <div class="modal-dialog post-modal-dialog"> <div class="modal-content"> <div class="modal-body"> <button type="button" class="close" data-dismiss="modal">×</button> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> CakePHP: the rapid development php framework: Errors </title> <link href="/favicon.ico" type="image/x-icon" rel="icon"/><link href="/favicon.ico" type="image/x-icon" rel="shortcut icon"/><link rel="stylesheet" type="text/css" href="/css/cake.generic.css"/></head> <body> <div id="container"> <div id="header"> <h1><a href="http://cakephp.org">CakePHP: the rapid development php framework</a></h1> </div> <div id="content"> <h2>SQLSTATE[HY000] [2002] Operation timed out</h2> <p class="error"> <strong>Error: </strong> An Internal Error Has Occurred.</p> <h3>Stack Trace</h3> <ul class="cake-stack-trace"> <li><a href="#" onclick="traceToggle(event, 'file-excerpt-0')">CORE/Cake/Model/Datasource/DboSource.php line 260</a> &rarr; <a href="#" onclick="traceToggle(event, 'trace-args-0')">Mysql->connect()</a> <div id="file-excerpt-0" class="cake-code-dump" style="display:none;"><pre><code><span style="color: #000000"><span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">));</span></span></code> <code><span style="color: #000000"><span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}</span></span></code> <code><span style="color: #000000"><span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">$autoConnect</span><span style="color: #007700">)&nbsp;{</span></span></code> <span class="code-highlight"><code><span style="color: #000000"><span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">connect</span><span style="color: #007700">();</span></span></code></span> <code><span style="color: #000000"><span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}</span></span></code></pre></div> <div id="trace-args-0" class="cake-code-dump" style="display: none;"><pre></pre></div></li> <li><a href="#" onclick="traceToggle(event, 'file-excerpt-1')">CORE/Cake/Model/ConnectionManager.php line 105</a> &rarr; <a href="#" onclick="traceToggle(event, 'trace-args-1')">DboSource->__construct(array)</a> <div id="file-excerpt-1" class="cake-code-dump" style="display:none;"><pre><code><span style="color: #000000"><span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'message'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'Datasource&nbsp;is&nbsp;not&nbsp;found&nbsp;in&nbsp;Model/Datasource&nbsp;package.'</span></span></code> <code><span style="color: #000000"><span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">));</span></span></code> <code><span style="color: #000000"><span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}</span></span></code> <span class="code-highlight"><code><span style="color: #000000"><span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">static::</span><span style="color: #0000BB">$_dataSources</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">]&nbsp;=&nbsp;new&nbsp;</span><span style="color: #0000BB">$class</span><span style="color: #007700">(static::</span><span style="color: #0000BB">$config</span><span style="color: #007700">-&gt;{</span><span style="color: #0000BB">$name</span><span style="color: #007700">});</span></span></code></span> <code><span style="color: #000000"><span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">static::</span><span style="color: #0000BB">$_dataSources</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">]-&gt;</span><span style="color: #0000BB">configKeyName&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$name</span><span style="color: #007700">;</span></span></code></pre></div> <div id="trace-args-1" class="cake-code-dump" style="display: none;"><pre>array( &#039;password&#039; =&gt; &#039;*****&#039;, &#039;login&#039; =&gt; &#039;*****&#039;, &#039;host&#039; =&gt; &#039;*****&#039;, &#039;database&#039; =&gt; &#039;*****&#039;, 以下省略

###試したこと
CSSが効いていないのかと思い、確認してみたところ、、、
イメージ説明
どうやらCSSは正しく効いているみたいです。

###補足情報(言語/FW/ツール等のバージョンなど)
[環境]
mac OS sierra 10.12.1
Apache 2.4.23(UNIX)
PHP 7.0.12
cakephp 2.7.11

質問の内容は以上です。ご回答のほどよろしくお願い申し上げます。

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

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

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

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

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

makura

2016/12/13 09:24

コメントありがとうございます。ヘルプは今初めて拝見しました。申し訳ありません。何かルール違反があったのかもしれないですね。後ほど詳細を確認してみます。
makura

2016/12/13 10:14

あ、他のサイトと併用できないのですね。わかりました。
guest

回答2

0

自己解決

自己解決しました。mysqlの設定がなされていなかったことが原因でした。自分の環境にmysqlは入っていたのですが、放置されていて、最初のトップ画面だから関係ないだろうと思っていたのが問題の根本でした。database.phpのconfigをローカル環境に変更して、mysql.socketを作成し、mysqldを起動、mysql -u root -p でログインして、データベースとテーブルの定義を完了させたことで、正しい画面出力になりました。今回これだけハマってしまったのは、出力されるHTMLソースにerror内容が混じっていることに気づかず、HTMLやCSSの設定、あるいはapache2の設定、.htaccessの設定など、見当違いのほうに原因があると考えてしまったことでした。自分の注意力が足りていなかったようです。コメントをいただいた motuo 様には大変お世話になりました。ありがとうございます。それでは質問をクローズさせていただきます。

投稿2016/12/13 13:03

makura

総合スコア8

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

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

0

PHPというよりもHTMLの問題な気がします。
パッと見た限り、画像ファイルが上手く読み込めていないのでは?と感じます。そちらを確認してみてはいかがでしょうか?

投稿2016/12/13 08:33

motuo

総合スコア3027

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

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

makura

2016/12/13 08:53

迅速なご返信ありがとうございます。確かに、ご指摘の通り、app/webroot/img配下のcake.icon.png, cake.power.gif, test-error-icon.png, test-fail-icon.png, test-pass-icon.pngを開こうとすると、"It may be damaged or use a file format that Preview doesn’t recognize."というメッセージが表示されるので、この辺りが原因かなと思われます。そうであるのならば、どうやって解決するかはまだわからないのですが、引き続き調査 and もしアドバイスがいただけるのであれば幸いに思います。
motuo

2016/12/13 09:08

エラーメッセージで調べてみると、ファイルが壊れてしまっているようです。 正常に開くことのできるバックアップデータ等があれば、差し替えてみては如何でしょうか。 無いとなると、後は作るしかないかもしれませんね… とりあえず、原因を切り分けるために同名で適当な画像を作って、アップロードしてページが思った通りに表示されるか確認されては如何でしょうか。
makura

2016/12/13 09:26

そのようですね...。画像はFTPで本番サーバ(正しく機能している)からダウンロードしているので、そもそも壊れているはずはないのですが、不思議です。 仰る通り同名で画像ファイルを作って、実験してみます。コメントありがとうございます。
motuo

2016/12/13 09:29

念の為の確認ですが、FTPでダウンロードした時にはバイナリモードでダウンロードしましたか? 本番で動いているファイルがあるとすると、転送時に壊れたのかもしれません。 それでも全ファイルが壊れるとは考えにくいので、的が外れているかもしれませんが…
makura

2016/12/13 09:42

ご回答ありがとうございます。調べてみたところ、僕が使っていたFTPツール(Cyberduck)はバイナリモードとアスキーモードを設定することができないらしく、どちらで転送されたかは現在不明です。他のFTPソフトを使ってみて、もう一度本番サーバから画像ファイルだけ抜き出してみます。
makura

2016/12/13 09:58

filezillaのバイナリモードで画像ファイルをダウンロードしてみましたが、やはり画像は壊れているようです。画像はダミーを作って、実験してみます。その他、投稿の該当ソースコードを変更したのですが、ソースを表示でhtmlが膨大なデータ量になっている点も少し気になります。昨日今日とずっと自己解決できないので、なんとか頑張って解決したく思います。
makura

2016/12/13 10:12

壊れている画像ファイルをダミー画像と同名で差し替えて、画面を表示させようとしたのですが、うまくいきませんでした。
motuo

2016/12/13 11:49

「うまくいかない」というのは、どの様な点でしょうか?画像が読み込めないのであれば、パスの切り方に問題があるのかもしれませんね。(localhostならではの問題かも)htmlの出力は確認されましたか?
makura

2016/12/13 12:11

お返事ありがとうございます。正しい状態ではない最初のエラー画面から変化がないという点でうまくいかないと答えました。先ほど、htmlの出力を確認していたところ、エラーメッセージをはいている箇所を見つけ、それに関する調査をしていました。具体的には、DBに関するエラーで、database.phpの設定、それから自分の環境のmysqlの設定をおこなっていました。現在はエラーメッセージが「SQLSTATE[HY000] [2002] Connection refused」(htmlの出力)、「ERROR! The server quit without updating PID file (/usr/local/var/mysql/makura-2.local.pid)」(sudo mysql.server restartの結果)、「 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' 」(mysql -u root -p の結果)と表示されているので、これを解消することに尽力しています。database.phpの設定箇所は以下のようになっております。 class DATABASE_CONFIG { public $default = array( 'datasource' => 'Database/Mysql', 'persistent' => false, 'host' => '127.0.0.1', 'login' => 'root', 'password' => '', 'database' => 'worldofpillow_utwitter', 'prefix' => '', 'encoding' => 'utf8', ); public $test = array( 'datasource' => 'Database/Mysql', 'persistent' => false, 'host' => '127.0.0.1', 'login' => 'root', 'password' => '', 'database' => 'worldofpillow_utwitter', 'prefix' => '', 'encoding' => 'utf8', ); } 今のところエラーが解消されていないので、アドバイスなど頂けたら幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問