問題タブ [php-include]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - インクルードのないウェブサイトに Google アナリティクスをインストールする
クライアントのウェブサイトに Google アナリティクスをインストールする任務を負っています。
残念ながら、この Web サイトは、PHP の知識がほとんどない人々によって作成されました。
サイト全体に含まれる唯一の共通ファイルは、データベースへの接続にのみ使用される構成ファイルです。このファイルは、HTML の開始タグよりも前に実行されます。
Web サイト自体には公式のヘッダーがありません。一部のページには、独自のカスタム ナビゲーション バーがあります。
Google アナリティクスのコードを構成ファイル (HTML の前に配置) に配置すると、最新のインターネット ブラウザーがそれをどう処理するかを理解できる可能性が高くなりますが、それは汚い解決策であると私は感じています。途中でトラブルになりやすい。
これを実現するための簡単な解決策があるという合理的な疑いを持ってこの質問をしていますが、私はまだ Web 開発者としてのキャリアの中で、毎日新しいことを学んでいる段階にあり、驚くことではありません。簡単な方法があれば教えてください。
ありがとう。
詳細が不足している場合はお知らせください。その他の関連情報を含めるよう最善を尽くします。
php - PHP 複数の MySQL 接続を防止
私は、多くの異なるファイルに分割されている大規模な手続き型の php/mysql Web サイトを持っています。各ファイル内に、dbconn.php を含めて、db 接続が利用できるようにします。
次のようになります。
index.php
そして、これらの各ファイル内で、include_once を介して他のいくつかのファイルを呼び出します。したがって、合計で約 30 の異なるファイルが作成されます。
すべてのファイルは次で始まります。
私は include_once を使用しているので、dbconn.php を複数回ロードするべきではありませんが、最近、次の php 警告が表示されます。
私の dbconn.php は次のようになります。
そのため、ダブルチェックがあります。開いている mysql 接続が既に存在する場合、ファイルは基本的に何もしません。
私は何を間違っていますか?この php 警告が表示されるのはなぜですか? また、mysql 接続の量を減らすにはどうすればよいですか?
php - PHPインクルードで最初の行を無視するには?
コマンドラインから独立して実行できるphpスクリプトがあるので、最初の行は#!/usr/bin/env php
. ただし、最初のスクリプトを自動的に実行できる別のスクリプトもあります。これはinclude 'example.php'
、最初の行をテキストとして出力することを除いて機能する を呼び出すことによって行われます。
インクルードを最初の行をスキップさせるにはどうすればよいですか? これまでのところ、すべてを出力バッファーにラップしてから最初の行をトリミングするという唯一のオプションしか考えられませんでしたが、それには多くの問題があります。exec()
コマンド ラインから 2 番目のスクリプトの実行をシミュレートするために を使用したり、ファイル全体を読み取って で評価したりするなどの代替手段はeval()
、どちらも非常に恐ろしい解決策のように思えます。
PHPに「このファイルを含めますが、最初の行は出力しない」ように指示する方法はありますか?
シバンを削除して、php script.php
必要なときにいつでもスクリプトを実行できることは承知していますが、これはこの特定のケースでは問題ありませんが、最初のものを無視する別の一般的な方法があるかどうかを知りたいです。 (または最初の X) 行。
php - PHP に SSL が必要/含まれている
SSLを含むようにApache Webサーバーを移行する作業を行っています。証明書をインストールしましたが、問題なく Https を利用できます。
Web ページには、データベース コンポーネントもあります。これは、標準の Http バージョンではエラーなく機能します。
Https に移行すると、エラーが発生し、PHP スクリプトが「include」行または「require」行で停止します。エラーメッセージやログメッセージはありません。ただ死ぬだけです。
その外部ファイルからのすべてのデータを完全に含めるようにファイルを編集すると、再び正常に動作します。これは、セキュリティで保護されたファイルのみを含めるようにするための、ある種の SSL セキュリティであると想定しています。ただし、これらのファイルを含めることを許可する方法がわかりません。これらは複数のファイルで使用する関数にすぎないため、各ファイルにコピーしないことをお勧めします。
誰かがこのようなものに遭遇した場合、どんな助けもいただければ幸いです。
ありがとう
要求された行が必要です:
完全なコードには、標準の apache 構成に関する問題はありません
php - 致命的なエラー: クラス 'Sql' が見つかりません
ローカルホストでホストとルート パスを定義しようとしています。ウェブサイトは私のサーバーで機能していました。ローカルホストでバックアップしたかったのです。しかし、ローカルホストのホストとルート パスを定義する方法がわかりません。
以下は、Web サイトサーバーで定義した方法です。
localserver に移動した際、以下のように変更しました。
しかし、エラーが発生していますFatal error: Class 'Sql' not found
。
パスの設定ミスが原因だと確信しています。
localhost のディレクトリ階層は次のとおりです。
これがapp.phpのコードです
php - 必要なクラス定義のスコープを関数に制限する
多くのプラグインを含むフォルダーがあります。各プラグインには同じ名前のクラスが含まれていますが、内容は異なります。
plugin01.php
plugin02.php
Plugins.php で、このプラグインをロードしたい。しかし、一度だけではありません。
期待される結果:
Plugin01 - テスト
Plugin02 - テスト
Plugin01 - テスト
現在の結果:
致命的なエラー: クラス プラグインを再宣言できません
私はredefining
クラス名でありincluding
、何度も同じプラグインであるため、これは間違いなく機能しません。
私の質問は、ファイルを関数スコープ (外部ファイルで定義されたすべてのクラスを含む) にのみ含めることはできますか?
PHPでそれを行うことはできますか、それともクラスごとに異なる名前を使用する必要がありますか?