こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PHPで出てくる use とは何ですか?

phpMyAdmin5 をダウンロードしました。
htdocsに解凍し、ブラウザのアドレス欄に HTPP://localhost/phpMyAdmin5/ibndex.php と入力しましたが、次のようなエラーメッセージが出てきました。

Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING or '(' in C:\xampp\htdocs\phpMyAdmin5\index.php on line 10
そこでindex.phpの10行を見ると use PhpMyAdmin\Controllers\HomeController; となっています。
このuse というのはいったい何なのでしょうか。ネットで調べてもこれに関する情報は何も見つかりませんでした。
詳しい方、どうか教えてください。 また上に書いたようなやり方でphpMyAdminを始められるのでしょうか?

投稿日時 - 2020-01-26 12:22:58

QNo.9705768

困ってます

質問者が選んだベストアンサー

>ご迷惑でなければ教えてください。
う~ん。
普通でないメッセージが出てるように思います。
それでなんですが。
一度XAMPをアンインストールして、
XAMPディレクトリごと、削除して、再度インストールしたほうがいいかもしれませんね。何かおかしいです。
もし、使用しているDBデータなどがあるなら、DBデータをダンプしておくことや、
Apacheのコンフィグなどをいじってる場合は、それらも、バックアップしてからですが。
環境が正しくセットアップできていない可能性が、
感じられる感じです。
MySQLの場合は今は、テンポラリパスワードでセットアップが必要ですが。
入ってるのはMariaDBのはずなので、いきなりつながるはずなんですが。
(標準で入ってるMariaDBのデフォルトのパスワードは「なし」なのでいきなりつながる)

PHPを7.3系列にして、SQL-Communtyにしている、XAMPPで
PMAが動いている画像を添付しますが。
普通に動いておりますよ。

大変申し訳ございませんが、この投稿に添付された画像や動画などは、「BIGLOBEなんでも相談室」ではご覧いただくことができません。 OKWAVEよりご覧ください。

マルチメディア機能とは?

投稿日時 - 2020-01-27 17:32:52

お礼

わかりました。
自分でもそろそろPHP環境を新しくしたいと考えていたので、PHP7とXAMPP最新版(MariaDB)を入れてみたいと思います。
ちなみに、私のXAMPPはもう15,6年前にPHPの教本に付録でついていたCDからインストールしたもので、PHP5が入っていました。MySQLはまだMariaDBではありませんでした。
今回はPHPにある"use"とは何かという質問から始まってphpMyAdminの起動の仕方までと、だいぶ広範囲な事にお付き合いいただき、本当に有難うございました。
この質問はこれで一応閉めさせていただきたいと思います。
新しいPHPやXAMPPの導入の時にまたお世話になることがあるかもしれませんが、その時はどうぞよろしくお願いいたします。

投稿日時 - 2020-01-27 23:15:59

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

>よろしければスタートの方法を教えて頂けませんか?

MySQLボタンの隣のADMINボタンだけで、
ブラウザが開くので、そこでOKですよ。
なお、MySQLとかいてるものの、実際には、MariaDBになっている
かもしれませんが、これも、MySQLのパッケージを
入れて設定すれば、XAMPP標準以外のパッケージでも
ちゃんと動作しますよ。
もし、MySQL固有の機能を使いたい場合などは、お試しを
例えばJSONカラムなど。

投稿日時 - 2020-01-27 11:30:53

お礼

XAMPPコントロールパネルの "Admin" ボタンを押すとXAMPP Windows版へようこそ Version 1.6.4 ! という黄色いページが表示されますが、左側のメニューにあるphpMyAdmin をクリックすると、以下のようなエラーメッセージが出てきます。
Access forbidden!

You don't have permission to access the requested directory. There is either no index document or the directory is read-protected.

If you think this is a server error, please contact the webmaster.
Error 403
localhost
01/26/20 21:43:09
Apache/2.2.6 (Win32) DAV/2 mod_ssl/2.2.6 OpenSSL/0.9.8e mod_autoindex_color PHP/5.2.4

このphpMyAdminの中にはindex.php もありますし、そのフォルダーのpropertiesを見てもattributeはread only になっているので、上のメッセージにあるようにread-protected(読みだし禁止)にはなってないと思います。
この問題はどのように解決できるのでしょうか?
ご迷惑でなければ教えてください。

投稿日時 - 2020-01-27 14:51:03

>PCをリスタートしましたが、
XAMPの場合は、PCの再起動は不要ですよ。
単に、デーモンリスタート(Stop->Start)をするだけでOKですよ。

>今まで動いていたソフトが動かなくなりました。
なるほど。バージョン依存のソースがあったのですね。

>私の場合はうまくいかないようです。
であれば、PMA=phpMyAdminのバージョンを下げてみるのは
いかがでしょうか?
というか、XAMPに最初から付属しているはずなので、
それをそのまま使う方がいいのでは?という気はします。

投稿日時 - 2020-01-26 18:31:48

お礼

AsarKingChangさんにはいつも丁寧な説明を頂き、j感謝しています。
確かにもう5,6年も前にXAMPPをインストールした時にはphpMyAdminも動いていたような気もするのですが、私はコマンドラインから直接MySQLのコマンドを実行するのが好きで、PMAはほとんど使ったことが無く、最初からXAMPPについているものをどうやってスタートさせたかも覚えていません。XAMPPの中をのぞくとちゃんとphpMyAdminというフォルダーがあるので動かそうと思えば動くのかもしれません。
よろしければスタートの方法を教えて頂けませんか?

投稿日時 - 2020-01-27 10:19:08

>ネットで調べてもこれに関する情報は何も見つかりませんでした。
う~ん..普通にヒットすると思いますが。

まず、classの外に書いたときは、namespaceの指定で
class中に書いている時は、traitインターフェースの指定の
2つの使い方がありますよ。
https://www.php.net/manual/en/language.namespaces.importing.php
https://www.php.net/manual/ja/language.oop5.traits.php
(どちらも、オフィシャルのPHPサイトです)

オフィシャルサイトの文献が力になってくれることを祈ります。

で、動かなかった件ですが、
PHPのバージョンが古いのではないかと。
PHP7系列にアップグレードしてみてはいかがですか?
ただ7.4系列は一部の機能が動かないケースがあるので、
7.3で止めておくことをお勧めします。

ローカルなどのXAMPなどであれば、PHPを同じフォルダに
上書きで入れれば、それでアップグレードされますよ。
https://windows.php.net/download#php-7.3
こちらから、Windows版(WIN/MACが書かれていないのでとりあえずWIN版を紹介)を持っていってください。
VC15 x64 Thread Safe (2020-Jan-21 15:36:21)
など。
XDEBUGを使いたいなら、それらも、一緒に抜いておけばよいかと

GoogleChromeのXDEBUGヘルパーなども使うのであれば、
https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc
など。

これで、PHPを実行しながらデバッグもできるようになります。

投稿日時 - 2020-01-26 16:08:31

お礼

ご回答ありがとうございます。
useの意味が分かりました。
ここでは trait を使うという意味の様です。
この言葉も私には初めてでしたので、いい勉強になりました。

推奨いただいたPHP7のダウンロードですが、解凍したPHPフォルダーを今まで使っていたPHPフォルダーのあった位置において、PCをリスタートしましたが、今まで動いていたソフトが動かなくなりました。今まで使っていたPHPフォルダーは安全な場所に退避させておいたので、それを又戻して今使えるようになっています。
私の場合はうまくいかないようです。

投稿日時 - 2020-01-26 17:56:21

ANo.1

http の誤りではないかと?

投稿日時 - 2020-01-26 14:01:21

お礼

確かにHTTPが正しいですね。
しかし、これを訂正しても出てくるメッセージは同じです。

投稿日時 - 2020-01-26 14:27:36