marron_117
@marron_117

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

phpAdminに接続しようとするとソースコードが出てしまう

解決したいこと

データベース接続するプログラムを書きたいと思い、Apache、MySQL、phpMyadminをインストールしました。
ただ、phpMyadminにログインするため、localhost\phpAdminのファイルに接続しても、格納されているファイルやソースコードが表示されるだけで起動されません。
手順書の通りにやったつもりですが、どこで自分が間違えたか何度見てもわからず、第三者の有識者の目線から意見をいただきたいと思い投稿しました。
どのようにすればphpMyadminのログイン画面に到達できるか教えていただけますでしょうか。

現状

Apache24\conf\httpd.confの末尾に追加したもの

LoadModule php_module "c:/php-8.4.1/php8apache2_4.dll"
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
AddType application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "C:/php-8.4.1"

PHPバージョン
image.png

表示されるもの

ApacheとMySQLは稼働している状態です。
image.png

image.png

0

1Answer

下記のブロックを探して3行目のAddHandlerを追加してみてください。
(1行目と2行目は例です)。

DocumentRoot "${USERROOT}/htdocs"
<Directory "${USERROOT}/htdocs">
    AddHandler application/x-httpd-php .php

そして、Apacheのサービスを再起動し、ブラウザのキャッシュをクリアして試してみてください。

0Like

Comments

  1. @marron_117

    Questioner

    AddHandler追加・ブラウザキャッシュクリアしApache再起動しました。
    ソースコードは解消されましたが、以下の写真のようになりました。

    image.png

    image.png

    「ヘッダが既に送信された後にセッションを開始することはできません。」と書かれており、対処法を検索したところ、session_start()より前にコードを記述しないと出てきました。

    function.phpのソースコード

    <?php
    
    /**
     * Assert
     *
     * LICENSE
     *
     * This source file is subject to the MIT license that is bundled
     * with this package in the file LICENSE.txt.
     * If you did not receive a copy of the license and are unable to
     * obtain it through the world-wide-web, please send an email
     * to kontakt@beberlei.de so I can send you a copy immediately.
     */
    
    namespace Assert;
    
    /**
     * Start validation on a value, returns {@link AssertionChain}.
     *
     * The invocation of this method starts an assertion chain
     * that is happening on the passed value.
     *
     * @param mixed $value
     * @param string|callable|null $defaultMessage
     * @param string $defaultPropertyPath
     *
     * @example
     *
     *  \Assert\that($value)->notEmpty()->integer();
     *  \Assert\that($value)->nullOr()->string()->startsWith("Foo");
     *
     * The assertion chain can be stateful, that means be careful when you reuse
     * it. You should never pass around the chain.
     */
    function that($value, $defaultMessage = null, string $defaultPropertyPath = null): AssertionChain
    {
        return Assert::that($value, $defaultMessage, $defaultPropertyPath);
    }
    
    /**
     * Start validation on a set of values, returns {@link AssertionChain}.
     *
     * @param mixed $values
     * @param string|callable|null $defaultMessage
     * @param string $defaultPropertyPath
     */
    function thatAll($values, $defaultMessage = null, string $defaultPropertyPath = null): AssertionChain
    {
        return Assert::thatAll($values, $defaultMessage, $defaultPropertyPath);
    }
    
    /**
     * Start validation and allow NULL, returns {@link AssertionChain}.
     *
     * @param mixed $value
     * @param string|callable|null $defaultMessage
     * @param string $defaultPropertyPath
     *
     * @deprecated In favour of Assert::thatNullOr($value, $defaultMessage = null, $defaultPropertyPath = null)
     */
    function thatNullOr($value, $defaultMessage = null, string $defaultPropertyPath = null): AssertionChain
    {
        return Assert::thatNullOr($value, $defaultMessage, $defaultPropertyPath);
    }
    
    /**
     * Create a lazy assertion object.
     */
    function lazy(): LazyAssertion
    {
        return Assert::lazy();
    }
    
    

    35行目でエラーを起こしているはずなのですが、session_start()がないです。
    同じフォルダ内のファイルを探しても見つかりませんでした。

    この場合の対処法を教えていただきたいです。

  2. @marron_117

    Questioner

    PHP入れなおしたらログインできました!ありがとうございます!

Your answer might help someone💌