ホームページ バックエンド開発 PHPチュートリアル 基本的な PHP 面接の質問に関連する質問

基本的な PHP 面接の質問に関連する質問

Jun 13, 2016 pm 12:23 PM
client message server

基本的な PHP 面接の質問

1. トラフィックが多い Web サイトの場合、トラフィックの問題を解決するためにどのような方法を使用しますか?

まず、サーバー ハードウェアが PHP をサポートするのに十分であるかどうかを確認します。現在のトラフィック

次に、データベース アクセスを最適化します。

第三に、外部ホットリンクは禁止されています。

4 番目に、大きなファイルのダウンロードを制御します。

5 番目に、別のホストを使用してメインのトラフィックを迂回します。

6 つ目は、トラフィック分析および統計ソフトウェアを使用することです。

2. PHP を使用して、クライアント IP とサーバー IP を表示するコードを記述します。

//クライアント IP を表示します

function get_client_ip() {#

if(getenv('HTTP_CLIENT_IP')) {

$client_ip = getenv('HTTP_CLIENT_IP');

} elseif(getenv('HTTP_X_FORWARDED_FOR')) {

$client_ip = getenv('HTTP_X_FORWARDED_FOR');

} elseif(getenv('REMOTE_ADDR')) {

$client_ip = getenv('REMOTE_ADDR');

} else {

$client_ip = $HTTP_SERVER_VAR['REMOTE_ADDR'];

}

return $client_ip;

}

//サーバー IP

function get_server_ip(){

if (isset($_SERVER))

{

if($_SERVER['SERVER_ADDR ' ]) $huoqu_ip=$_SERVER['SERVER_ADDR'];

else $huoqu_ip=$_SERVER['LOCAL_ADDR'];

}

else

{

$huoqu_ip=getenv('SERVER_ADDR');

}

return $huoqu_ip;

}

3 . MYsqlプログラミングの面接の質問。

(1) コンテンツ管理システムでは、メッセージ テーブルに次のフィールドがあります:

id 記事 ID

タイトル 記事タイトル

コンテンツ 記事コンテンツ

category_id 記事カテゴリ ID

クリック数

上記のテーブルを作成し、MySQL ステートメントを記述します。

CREATE TABLE 'message'(

id int(11) NOT NULL auto_increment、

title varchar(200) デフォルト NULL、

content blob、

category_id int(11) デフォルト NULL、

hits int(11) デフォルト NULL,

PRIMARY KEY('id')

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

(2)同じニュースは上記と同様 公開システム: コメント テーブルにはユーザーの返信コンテンツが記録されます。フィールドは次のとおりです:

comment_id Reply id

id 記事 ID。メッセージ テーブル

に関連付けられています。

comment_content 返信コンテンツ

次に、データベースにクエリを実行して、次の形式で記事タイトルのリストを取得し、返信数の多い順に並べ替える必要があります

記事 ID 記事タイトルのクリック数 返信数

SQL ステートメントを使用して上記のクエリを完了します。記事に返信がない場合、返信数は 0

SELECT メッセージとして表示されます。 .id id,message.title title,IF(message.`hits` IS NULL,0,message.`hits `)

hits,IF(comment.`id` is NULL,0,count(* ))number

FROM message LEFT JOIN comment ON message.id=comment.id

GROUP BY message.`id`

(3) 上記コンテンツ管理システムにおいて、テーブル category は分類情報を保存します。フィールドは次のとおりです (3 点)

category_id int(4) not null auto_increment ;

categroy_name varchar(40) not null;

ユーザーが記事を入力するとき、ドロップダウン メニューを選択して記事カテゴリを選択します

このドロップダウン メニューの実装方法を記述します

function categoryList()

{

$result=mysql_query("カテゴリから category_id,categroy_name を選択")

or die("無効なクエリ: " . mysql_error ());

print( "");

}

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows サーバーのバックアップをインストール、アンインストール、リセットする方法 Windows サーバーのバックアップをインストール、アンインストール、リセットする方法 Mar 06, 2024 am 10:37 AM

WindowsServerBackup は、WindowsServer オペレーティング システムに付属する機能で、ユーザーが重要なデータとシステム構成を保護し、中小企業、エンタープライズ レベルの企業に完全なバックアップおよび回復ソリューションを提供できるように設計されています。この機能を使用できるのは、Server2022 以降を実行しているユーザーのみです。この記事では、WindowsServerBackup のインストール、アンインストール、またはリセットの方法を説明します。 Windows Server バックアップをリセットする方法 サーバー バックアップで問題が発生したり、バックアップに時間がかかりすぎたり、保存されているファイルにアクセスできない場合は、Windows Server バックアップ設定をリセットすることを検討してください。 Windowsをリセットするには

vue3 で element-plus を使用してメッセージを呼び出す方法 vue3 で element-plus を使用してメッセージを呼び出す方法 May 17, 2023 pm 03:52 PM

vue3 は、Element-plus を使用してメッセージ環境を呼び出します: vue3+typescript+element-plus1。Element のグローバルな導入後、Element は app.config.globalProperties にグローバル メソッド $message を追加したため、mounted(){( thisasany) を optionsAPI で直接 $message.success("this.$message");}2. CompositionAPI では、setup メソッドは 2 つの変数 props と props を渡します。

Windows Server 2025 プレビュー バージョンがアップデートを歓迎、Microsoft が Insider テスト エクスペリエンスを改善 Windows Server 2025 プレビュー バージョンがアップデートを歓迎、Microsoft が Insider テスト エクスペリエンスを改善 Feb 19, 2024 pm 02:36 PM

Windows Server のビルド 26040 バージョンのリリースに際し、Microsoft は製品の正式名を Windows Server 2025 と発表しました。 Windows11WindowsInsiderCanaryChannel バージョン build26040 もリリースされました。何年も前に、誰かが Windows NT をワークステーション モードからサーバー モードに変換し、Microsoft オペレーティング システムのさまざまなバージョン間の共通点を示したことをまだ覚えている人もいるでしょう。 Microsoft の現在のバージョンのサーバー オペレーティング システムと Windows 11 には明らかな違いがありますが、詳細に注目する人は、なぜ Windows Server がブランドを更新したのか、

Nginx のバージョン名を変更して Web サーバーを偽装する方法 Nginx のバージョン名を変更して Web サーバーを偽装する方法 May 14, 2023 pm 09:19 PM

nginx のデフォルト名を変更する方法、少し偽装することも、インストールすることもできますヒント: 通常、変更は nginx がコンパイルされる前に行われます。変更後、コードは次のように再コンパイルする必要があります: scr/core/nginx.conf#definenginx_version"1.4.7"#definenginx_ver"nginx/"n

Microsoft、Windows Server vNext プレビュー バージョン 25335 をリリース Microsoft、Windows Server vNext プレビュー バージョン 25335 をリリース Jan 10, 2024 am 08:49 AM

Microsoft はデスクトップ向けの Win11 プレビュー アップデートをリリースしましたが、本日、Windows Server 長期サービス チャネル (LTSC) プレビュー ビルド 25335 もリリースしました。いつものように、Microsoft は完全な変更ログを公開しておらず、対応するブログ投稿さえ提供していません。 Microsoft は、Windows Server プレビュー バージョンの更新ログを Canary チャネル バージョンと同じになるように調整しました。新しいコンテンツが導入されない場合、公式ブログ投稿は投稿されません。 IT Home からのメモ: サーバー ブランドは更新されておらず、プレビュー バージョンではまだ Windows Server 2022 です。さらに、Microsoft では、これらのバージョンを、すでに市場に出ている Windows バージョンではなく、Windows Server vNext と呼んでいます。

Microsoft が Windows Server 26080 プレビュー アップデートをリリース: フィードバック ハブの障害を修正 Microsoft が Windows Server 26080 プレビュー アップデートをリリース: フィードバック ハブの障害を修正 Mar 14, 2024 pm 07:11 PM

IT House は 3 月 14 日、デスクトップ向けの Windows 11 Build 26080 プレビュー アップデートに加えて、Microsoft が Windows Server Build 26080 プレビュー アップデートもアップデートして開始したと報じました。次期 Windows Server Long Term Servicing Channel (LTSC) の最新プレビュー バージョンとして、Windows Server Build 26080 は Data Center Edition と Standard Edition を提供し、ユーザーはデスクトップ エクスペリエンスと Server Core インストール オプションを選択できます。このリリースには、コンテナー ホスト用の年次チャネルと、仮想マシン評価専用の Azure リリースも含まれています。 IT House は、X ソーシャル メディアにクエリを実行します。ユーザー フィードバックは、右下隅にある [Copilot] ボタンをクリックします。

Nginx のサーバーと場所のマッチング ロジックは何ですか? Nginx のサーバーと場所のマッチング ロジックは何ですか? May 12, 2023 am 11:10 AM

サーバーのマッチング ロジック nginx がリクエストを実行するサーバー ブロックを決定するとき、主にサーバー ブロックの listen フィールドと server_name フィールドに焦点を当てます。listen コマンドの listen フィールドは、サーバー応答の IP とポートを定義します。listen フィールドが明示的に指定されていない場合は、設定されている場合、デフォルトのリッスン 0.0.0.0:80 (ルート) または 0.0.0.0:8080 (非ルート) リッスンは、IP とポートの組み合わせ、単一の IP、デフォルトでポート 80 でリッスンする、単一の IP として設定できます。ポート、およびデフォルトですべての IP インターフェイスでリッスンする unixsocket パス。最後のエントリは通常、異なるポートでのみ使用されます。

Ubuntu Server 11.04 に GNOME 3 をインストールする手順 Ubuntu Server 11.04 に GNOME 3 をインストールする手順 Dec 31, 2023 pm 03:59 PM

まだ完成していない GNOME 3 はもちろん、Ubuntu Server 11.04 をインストールするときにグラフィカル インターフェイスをインストールする必要もないと思われる場合は、 。または、ARCH+GNOME3 でビルドする必要があります。したがって、これ以上読んで時間を無駄にしないでください。 2泊1日かかり、N回再インストールしました。ついに何かが生まれました。簡単ではない。早速、本題に入りましょう: ハードウェア: ThinkPad 1 台(X61 の場合) 2. ブート オプション インターフェイスに入り、USB ブートを選択し、Ubu のインストールを選択します。

See all articles