ホームページ > バックエンド開発 > PHPの問題 > PHPのバージョンが低い場合に認証コードが表示されない場合はどうすればよいですか?

PHPのバージョンが低い場合に認証コードが表示されない場合はどうすればよいですか?

藏色散人
リリース: 2023-03-12 10:28:02
オリジナル
2394 人が閲覧しました

検証コードが表示されない低いバージョンの php の解決策: 1. php5-gd に必要な依存関係をインストールします; 2. プロジェクトのルート ディレクトリに clean.php ファイルを作成します; 3. BOM。

PHPのバージョンが低い場合に認証コードが表示されない場合はどうすればよいですか?

この記事の動作環境: Windows7 システム、PHP5 バージョン、DELL G3 コンピューター

検証コードはありませんPHPのバージョンが低いと表示されるのですがどうすればいいですか?

PHP5の検証コードが表示されない、GDライブラリが正常にインストールされても表示できない問題の解決方法

私はJAVAで作業しており、直接引き継ぎも維持しています PHPの基礎知識ゼロでPHPプロジェクトに取り組んでいます プロジェクトのサーバーを移行し、ドメイン名にhttpsを追加して、最終的に正常にアクセスできることを確認しましたただし、詳細な機能は完全にテストされていません。

ある日突然、登録モジュールの認証コードが正常に表示されないというクレームが入りました(一旦削除した後、バックグラウンド管理モジュールに入ってみると、画像アップロード機能が無いことが分かりました)正常に動作しています。おそらく問題があります)。そこで、断続的に 4 日間オンラインで解決策を探し始めました。

実際、一般的な状況に対する解決策は簡単に見つかります。キーワードとしては、php-gd、php-fpm (nginx を構成しています)、php.ini、キャッシュのクリアなどがあります。しかし、debian システムには想像を絶する依存関係があり、バージョンごとに依存関係の名前が異なり、現在のシステム自体が本番環境のサーバーであり、依存関係のバージョンもさまざまで、要するに、非常に頭の痛い問題です。

無数の依存関係ソースを試し、依存関係を更新した後、最終的に、php5-gd に必要な依存関係を正常にインストールできました。最後に、phpinfo では GD のバージョン情報とサポートされている画像形式も表示されましたが、検証コードはまだ表示できませんでした。 。 。 。 。 。

「php5 で gd をインストールしても認証コードが表示されない」という検索キーワードを数え切れないほど試した結果、BOM ヘッダーについて言及している投稿を見つけました。これは、crt を使用してリモートでログインしていたため、明らかになりました。この BOM ヘッダーは、一部のファイルを編集するときにも表示されるため、プロジェクトのルート ディレクトリに clean.php ファイルを作成し、

次のコードを貼り付けます

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

<?php

/*清除bom*/

if(isset($_GET[&#39;dir&#39;])){

    $basedir=$_GET[&#39;dir&#39;];

}else{

    $basedir = &#39;.&#39;;

}  

$auto = 1;  

checkdir($basedir);

function checkdir($basedir){

    if($dh = opendir($basedir)){

        while(($file = readdir($dh)) !== false){

            if($file != &#39;.&#39; && $file != &#39;..&#39;){

                if(!is_dir($basedir."/".$file)){

                    echo "filename: $basedir/$file ".checkBOM("$basedir/$file")." <br>";

                }else{

                    $dirname = $basedir."/".$file;

                    checkdir($dirname);

                }

            }

        }//end while

    closedir($dh);

    }//end if($dh

}//end function

function checkBOM($filename){

    global $auto;

    $contents = file_get_contents($filename);

    $charset[1] = substr($contents, 0, 1);  

    $charset[2] = substr($contents, 1, 1);  

    $charset[3] = substr($contents, 2, 1);  

    if(ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191){

        if($auto == 1){

            $rest = substr($contents, 3);

            rewrite ($filename, $rest);

            return "<font color=red>BOM found, automatically removed.</font>";

        }else{

            return ("<font color=red>BOM found.</font>");

        }

    }  

    else return ("BOM Not Found.");

}//end function

function rewrite($filename, $data){

    $filenum = fopen($filename, "w");

    flock($filenum, LOCK_EX);

    fwrite($filenum, $data);

    fclose($filenum);

}

?>

ログイン後にコピー

ブラウザ /url/clean.php

問題がある場合は、そのようなログが多数表示され、確認コード ページ

## に再度アクセスしてください。

#通常のアクセス~

写真のアップロードの問題は、実際にはドメイン名が https に変更されているにもかかわらず、アップロード モジュールの設定が変更されていないことが原因です。https を追加することも正常です

推奨される学習: 「

PHP ビデオ チュートリアル >>

以上がPHPのバージョンが低い場合に認証コードが表示されない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート