目次
ディスカッション(解決策)への返信
ホームページ バックエンド開発 PHPチュートリアル C++ から移行しましたが、PHP の初期化はどこで行われますか?プログラムの初回起動時に設定データを読み込む必要があるということでしょうか?

C++ から移行しましたが、PHP の初期化はどこで行われますか?プログラムの初回起動時に設定データを読み込む必要があるということでしょうか?

Jun 23, 2016 pm 01:51 PM
構成

たとえば、C++ には main 関数があり、起動時の初期化や構成テーブルの読み取りなどを行うことができます。これを行う必要があるのは 1 回だけです。
次に、PHP を使用してサーバーを記述します。どこに追加する必要がありますか。これと同じような機能?ありがとう!


ディスカッション(解決策)への返信

プログラムに直接入力してください!

プログラムに直接入れてください!



しかし、Web アクセスごとに、サーバー側の対応する PHP が 1 回実行されるのではないでしょうか?毎回リソースを読み込むプログラムではないでしょうか? ? PHP に起動する MAIN 関数がない場合は、グローバル変数クラスを作成し、このクラス内のリソースを読み取りたいと考えています。このグローバル変数は一度だけ実行する必要がありますよね?

それを当たり前のことだと思わないでください!
C++ で書かれた 2 つのアプリケーションを実行するとき、main 関数は 1 回だけ実行されますか?

当たり前のことだと思わないでください!
C++ で書かれた 2 つのアプリケーションを実行するとき、main 関数は 1 回だけ実行されますか?



おそらく私は C++ から転送できず、WEB サーバーについての理解が十分ではないので、私の理解を教えてください:

たとえば、C++ では、サービス プログラムを起動し、起動プロセス中に MAIN を 1 回実行します。 、そしてこれ サービスプログラムは常に存在しており、次のステップは処理のためにクライアントからさまざまなデータパケットを受け入れることです

したがって、PHP には初期化サービスを提供できるものが必要だと思います。 ?たとえば、構成テーブルの一部は MYSQL に配置されており、起動時に一度メモリに読み込むだけで、他の WEB リクエストを満たすことができます。しかし、クライアントがWEB上のページにアクセスするたびに、対応するPHPを再度実行する必要があるようです。ここが分かりません。


プログラムに直接入れてください!



しかし、Web アクセスごとに、サーバー側の対応する PHP が 1 回実行されるのではないでしょうか?毎回リソースを読み込むプログラムではないでしょうか? ? PHP に起動する MAIN 関数がない場合は、グローバル変数クラスを作成し、このクラス内のリソースを読み取りたいと考えています。このグローバル変数は一度だけ実行する必要がありますよね?
各クライアントアクセスにC++を使用した場合、プログラムクライアントを開き直すことになります。
一般的に、PHP グローバル変数または実行されるプログラムは、これらのグローバル構成情報を使用する必要があるファイルにこのファイルを含めることができます。
同じ訪問ユーザー (セッションの有効期限が切れていない、通常、ブラウザを閉じた後にセッションの有効期限が切れる) の場合、Duitian のようなユーザーはセッションを使用して関連する構成オプションを保存できるため、ユーザーはセッションからセッションに直接アクセスできます。他のページにアクセスして、このユーザーの構成オプションを取得します。



プログラムに直接参加してください!



しかし、Web アクセスごとに、サーバー側の対応する PHP が 1 回実行されるのではないでしょうか?毎回リソースを読み込むプログラムではないでしょうか? ? PHP に起動する MAIN 関数がない場合は、グローバル変数クラスを作成し、このクラス内のリソースを読み取りたいと考えています。このグローバル変数は一度だけ実行する必要がありますよね?
各クライアントアクセスにC++を使用した場合、プログラムクライアントを開き直すことになります。
一般的に、PHP グローバル変数または実行されるプログラムは、これらのグローバル構成情報を使用する必要があるファイルにこのファイルを含めることができます。
同じ訪問ユーザー (セッションの有効期限が切れていない、通常、ブラウザを閉じた後にセッションの有効期限が切れる) の場合、Duitian のようなユーザーはセッションを使用して関連する構成オプションを保存できるため、ユーザーはセッションからセッションに直接アクセスできます。他のページにアクセスして、このユーザーの構成オプションを取得します。

たとえば、ロードしたい設定は、mysql からテーブルを読み取ることです。たとえパブリックな init.php があったとしても、すべてのユーザーの Web アクセスにはこの init.php が含まれますが、毎回 mysql にアクセスしてそれを読み取る必要はありませんか?

1. 設定に関しては、より有名な PHP 開発フレームワークと既存の PHP オープン ソース プログラムを学ぶことができます。これらのフレームワークは初期化設定で適切に機能します。 2. C/S アーキテクチャから B/S アーキテクチャへの変換がより困難な概念は、Web バックエンド プログラムの生存サイクルです。C++ を使用している場合、Web バックエンドには無限の機能がないことがわかります。 While(true) のようなループやブロックを使用すると、実行後にインスタンスが破棄されます。実行ステータス情報や実行結果などを残しておきたい場合は、実行結果を特別な一時ファイル [セッション] に保存することしかできません。この一時ファイルは特定の時点で保存されます(設定できますが、設定しない場合は通常ブラウザを閉じます)。破棄されなければ、このプログラムを再度開くと、実行中のファイルを読み取ることができます。この一時ファイルを開いてその時点のステータスを確認し、この時点で再度実行を続行します。
3. Web バックエンド プログラムには通常、優れたユーザー エクスペリエンスを実現するためにタイムアウト制限があるため、while(true) のような無限ループは発生しません。

PHP プログラムは C++ デスクトップ プログラムと同じで、起動するたびに環境を初期化する必要があります
これは理解できるはずです。

いわゆるサービス プログラムは、メモリ内に常駐するプログラムです。初期化は 1 回だけ行う必要があるように思えますが、そうではありません。2 つのサービス プログラムを開始した場合 (もちろん、プログラムは競合しないように設計する必要があります)、それぞれのプログラムを完了する必要があります。 php はサーバー側のスクリプトであり、Web サーバーが起動するため、メモリには常駐しません。
そのため、すべての呼び出しはプログラム内で直接初期化する必要があります




!


しかし、Web アクセスごとに、サーバー側の対応する PHP が 1 回実行されるのではないでしょうか?毎回リソースを読み込むプログラムではないでしょうか? ? PHP に起動する MAIN 関数がない場合は、グローバル変数クラスを作成し、このクラス内のリソースを読み取りたいと考えています。このグローバル変数は一度だけ実行する必要がありますよね?


各クライアントアクセスにC++を使用した場合、プログラムクライアントを開き直すことになります。
一般的に、PHP グローバル変数または実行されるプログラムは、これらのグローバル構成情報を使用する必要があるファイルにこのファイルを含めることができます。 同じ訪問ユーザー (セッションの有効期限が切れていない、通常、ブラウザを閉じた後にセッションの有効期限が切れる) の場合、Duitian のようなユーザーはセッションを使用して関連する構成オプションを保存できるため、ユーザーはセッションからセッションに直接アクセスできます。他のページにアクセスして、このユーザーの構成オプションを取得します。


たとえば、ロードしたい設定は、mysql からテーブルを読み取ることです。たとえパブリックな init.php があったとしても、すべてのユーザーの Web アクセスにはこの init.php が含まれますが、毎回 mysql にアクセスしてそれを読み取る必要はありませんか?
これは、テーブルの種類によって異なりますが、ユーザー設定情報であり、コンテンツがそれほど多くない場合は、セッション ストレージを使用できます。
データの場合、データの内容によって、キャッシュされるものもあれば、読み取りのみ可能なものもあります。

1. 設定に関しては、より有名な PHP 開発フレームワークと既存の PHP オープン ソース プログラムを学ぶことができます。これらのフレームワークは、初期化設定で適切に機能します。 2. C/S アーキテクチャから B/S アーキテクチャへの変換がより困難な概念は、Web バックエンド プログラムの生存サイクルです。C++ を使用している場合、Web バックエンドには無限の機能がないことがわかります。 While(true) のようなループやブロックを使用すると、実行後にインスタンスが破棄されます。実行ステータス情報や実行結果などを残しておきたい場合は、実行結果を特別な一時ファイル [セッション] に保存することしかできません。この一時ファイルは[設定できますが、設定しない場合は通常ブラウザを閉じます]が破棄されますが、破棄されていない場合は再度プログラムを開くと開くことでその時の実行状況を確認することができます。この一時ファイルを保存し、この時点でもう一度実行を続行します。 3. Web バックエンド プログラムには通常、優れたユーザー エクスペリエンスを実現するためにタイムアウト制限があるため、while(true) のような無限ループは発生しません。


そうですね、その通りです。これら 2 つのアーキテクチャのライフサイクルは異なります。私はまだそれを変更していません。

それでは、B/S アーキテクチャの場合、グローバルに一意であり、初期化が一度だけ必要なものはどこに配置すべきでしょうか?セッションって、同じユーザーを一つの単位として考えないといけないですよね?

PHP プログラムは C++ デスクトップ プログラムと同じで、起動するたびに環境を初期化する必要があります
これは理解できるはずです。

いわゆるサービス プログラムは、メモリ内に常駐するプログラムです。初期化は 1 回だけ行う必要があるように思えますが、そうではありません。2 つのサービス プログラムを開始した場合 (もちろん、プログラムは競合しないように設計する必要があります)、それぞれのプログラムを完了する必要があります。 php はサーバー側のスクリプトであり、Web サーバーが起動するため、メモリには常駐しません。
だから呼び出されるたびに初期化する必要があるのですね


わかりました。つまり、PHPは呼び出されるだけ(例えばユーザーが一度訪問する)だけで、呼び出された後は破棄されてしまいますよね?



はい!
使用すると完了し、次回使用するときに最初からやり直します


1. 設定に関しては、より有名な PHP 開発フレームワークと既存の PHP オープン ソース プログラムを学ぶことができます。これらのフレームワークは初期化で適切に機能します。構成は良い。 2. C/S アーキテクチャから B/S アーキテクチャへの変換がより困難な概念は、Web バックエンド プログラムの生存サイクルです。C++ を使用している場合、Web バックエンドには無限の機能がないことがわかります。 While(true) のようなループやブロックを使用すると、実行後にインスタンスが破棄されます。実行ステータス情報や実行結果などを残しておきたい場合は、実行結果を特別な一時ファイル [セッション] に保存することしかできません。この一時ファイルは[設定できますが、設定しない場合は通常ブラウザを閉じます]が破棄されますが、破棄されていない場合は再度プログラムを開くと開くことでその時の実行状況を確認することができます。この一時ファイルを保存し、この時点でもう一度実行を続行します。

3. Web バックエンド プログラムには通常、優れたユーザー エクスペリエンスを実現するためにタイムアウト制限があるため、while(true) のような無限ループは発生しません。



そうですね、その通りです。これら 2 つのアーキテクチャのライフサイクルは異なります。私はまだそれを変更していません。

それでは、B/S アーキテクチャの場合、グローバルに一意であり、初期化が一度だけ必要なものはどこに配置すべきでしょうか?セッションって、同じユーザーを一つの単位として考えないといけないですよね?

グローバルに一意で、一度だけ初期化されるものは何なのか教えてください。

はい! 使ったら忘れて、次回からまた始めましょう

決断力があり、わかりやすく、要点を押さえています。


1. 設定に関しては、より有名な PHP 開発フレームワークと既存の PHP オープン ソース プログラムを学ぶことができます。これらのフレームワークは、初期化設定で適切に機能します。 2. C/S アーキテクチャから B/S アーキテクチャへの変換がより困難な概念は、Web バックエンド プログラムの生存サイクルです。C++ を使用している場合、Web バックエンドには無限の機能がないことがわかります。 While(true) のようなループやブロックを使用すると、実行後にインスタンスが破棄されます。実行ステータス情報や実行結果などを残しておきたい場合は、実行結果を特別な一時ファイル [セッション] に保存することしかできません。この一時ファイルは[設定できますが、設定しない場合は通常ブラウザを閉じます]が破棄されますが、破棄されていない場合は再度プログラムを開くと開くことでその時の実行状況を確認することができます。この一時ファイルを保存し、この時点でもう一度実行を続行します。
3. Web バックエンド プログラムには通常、優れたユーザー エクスペリエンスを実現するためにタイムアウト制限があるため、while(true) のような無限ループは発生しません。



そうですね、その通りです。これら 2 つのアーキテクチャのライフサイクルは異なります。私はまだそれを変更していません。

それでは、B/S アーキテクチャの場合、グローバルに一意であり、初期化が一度だけ必要なものはどこに配置すべきでしょうか?セッションって、同じユーザーを一つの単位として考えないといけないですよね?

グローバルに一意で、一度だけ初期化されるものは何なのか教えてください。

例えば、冒頭で言った構成表。この構成テーブルは MYSQL にあります。この割り当てテーブルはすべてのユーザーが利用できます。 今の話で、PHPは「一度使うと終わって、次に使うとまた始まる」ということが分かりましたので、この設定コード(MYSQLに問い合わせて調整する)をPHPで書くと、 、その後、ユーザーがアクセスするたびに PHP コードを毎回 1 回実行する必要があります。
したがって、C++ の C/S アーキテクチャでは、S 側で開始すると、MAIN 関数があり、その後、設定コードが MAIN 関数内で 1 回実行され、設定がサーバーのメモリにインポートされます。他のユーザーがローカルで呼び出すだけです。

ということで、こんな投稿をしました〜 ということは、キャッシュか何かでしかできないということですか?




1. 設定に関しては、より有名な PHP 開発フレームワークと既存の PHP オープン ソース プログラムを学ぶことができます。これらのフレームワークは初期設定で適切に機能します。 2. C/S アーキテクチャから B/S アーキテクチャへの変換がより困難な概念は、Web バックエンド プログラムの生存サイクルです。C++ を使用している場合、Web バックエンドには無限の機能がないことがわかります。 While(true) のようなループやブロックを使用すると、実行後にインスタンスが破棄されます。実行ステータス情報や実行結果などを残しておきたい場合は、実行結果を特別な一時ファイル [セッション] に保存することしかできません。この一時ファイルは[設定できますが、設定しない場合は通常ブラウザを閉じます]が破棄されますが、破棄されていない場合は再度プログラムを開くと開くことでその時の実行状況を確認することができます。この一時ファイルを保存し、この時点でもう一度実行を続行します。
3. Web バックエンド プログラムには通常、優れたユーザー エクスペリエンスを実現するためにタイムアウト制限があるため、while(true) のような無限ループは発生しません。



そうですね、その通りです。これら 2 つのアーキテクチャのライフサイクルは異なります。私はまだそれを変更していません。
それでは、B/S アーキテクチャの場合、グローバルに一意であり、初期化が一度だけ必要なものはどこに配置すべきでしょうか?セッションって、同じユーザーを一つの単位として考えないといけないですよね?
グローバルに一意で、一度だけ初期化されるものは何なのか教えてください。

例えば、冒頭で言った構成表。この構成テーブルは MYSQL にあります。この割り当てテーブルはすべてのユーザーが利用できます。
今の話で、PHPは「一度使うと終わって、次に使うとまた始まる」ということが分かりましたので、この設定コード(MYSQLに問い合わせて調整する)をPHPで書くと、 、その後、ユーザーがアクセスするたびに PHP コードを毎回 1 回実行する必要があります。
したがって、C++ の C/S アーキテクチャでは、S 側で開始すると、MAIN 関数があり、その後、設定コードが MAIN 関数内で 1 回実行され、設定がサーバーのメモリにインポートされます。他のユーザーがローカルで呼び出すだけです。

ということで、こんな投稿をしました〜 ということは、キャッシュか何かでしかできないということですか? 1. 構成可能性については、より有名な PHP 開発フレームワークと既存の PHP オープン ソース プログラムを調べることができます。これらのフレームワークは、初期構成で適切に機能します。 2. C/S アーキテクチャから B/S アーキテクチャへの変換がより困難な概念は、Web バックエンド プログラムの生存サイクルです。C++ を使用している場合、Web バックエンドには無限の機能がないことがわかります。 While(true) のようなループやブロックを使用すると、実行後にインスタンスが破棄されます。実行ステータス情報や実行結果などを残しておきたい場合は、実行結果を特別な一時ファイル [セッション] に保存することしかできません。この一時ファイルは[設定できますが、設定しない場合は通常ブラウザを閉じます]が破棄されますが、破棄されていない場合は再度プログラムを開くと開くことでその時の実行状況を確認することができます。この一時ファイルを保存し、この時点でもう一度実行を続行します。 3. Web バックエンド プログラムには通常、優れたユーザー エクスペリエンスを実現するためにタイムアウト制限があるため、while(true) のような無限ループは発生しません。

そうですね、その通りです。これら 2 つのアーキテクチャのライフサイクルは異なります。私はまだそれを変更していません。

それでは、B/S アーキテクチャの場合、グローバルに一意であり、初期化が一度だけ必要なものはどこに配置すべきでしょうか?セッションって、同じユーザーを一つの単位として考えないといけないですよね?


グローバルに一意で、一度だけ初期化されるものは何なのか教えてください。


例えば、冒頭で言った構成表。この構成テーブルは MYSQL にあります。この割り当てテーブルはすべてのユーザーが利用できます。
今の話で、PHPは「一度使うと終わって、次に使うとまた始まる」ということが分かりましたので、この設定コード(MYSQLに問い合わせて調整する)をPHPで書くと、 、その後、ユーザーがアクセスするたびに PHP コードを毎回 1 回実行する必要があります。

したがって、C++ の C/S アーキテクチャでは、S 側で開始すると、MAIN 関数があり、その後、設定コードが MAIN 関数内で 1 回実行され、設定がサーバーのメモリにインポートされます。他のユーザーがローカルで呼び出すだけです。

ということで、こんな投稿をしました〜 ということは、キャッシュか何かでしかできないということですか?


はい


分かりました。最初にそれを PHP クエリに直接投げ込み、次にパフォーマンスのボトルネックがあった場合にキャッシュを使用して一致させました。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PyCharm と PyTorch の完璧な組み合わせ: 詳細なインストールと構成手順 PyCharm と PyTorch の完璧な組み合わせ: 詳細なインストールと構成手順 Feb 21, 2024 pm 12:00 PM

PyCharm は強力な統合開発環境 (IDE) であり、PyTorch はディープ ラーニングの分野で人気のあるオープン ソース フレームワークです。機械学習とディープラーニングの分野では、開発に PyCharm と PyTorch を使用すると、開発効率とコード品質が大幅に向上します。この記事では、PyCharm に PyTorch をインストールして構成する方法を詳しく紹介し、読者がこれら 2 つの強力な機能をより効果的に活用できるように、具体的なコード例を添付します。ステップ 1: PyCharm と Python をインストールする

PyCharm で Git 構成をセットアップする方法 PyCharm で Git 構成をセットアップする方法 Feb 20, 2024 am 09:47 AM

タイトル: PyCharm で Git を正しく構成する方法 現代のソフトウェア開発において、バージョン管理システムは非常に重要なツールであり、Git は人気のあるバージョン管理システムの 1 つとして、開発者に強力な機能と柔軟な操作を提供します。強力な Python 統合開発環境として、PyCharm には Git のサポートが付属しているため、開発者はコードのバージョンをより簡単に管理できます。この記事では、開発プロセス中により良い開発を促進するために、PyCharm で Git を正しく構成する方法を紹介します。

LinuxシステムにおけるGDMの動作原理と設定方法 LinuxシステムにおけるGDMの動作原理と設定方法 Mar 01, 2024 pm 06:36 PM

タイトル: Linux システムにおける GDM の動作原理と構成方法 Linux オペレーティング システムでは、GDM (GNOMEDisplayManager) は、グラフィカル ユーザー インターフェイス (GUI) ログインとユーザー セッション管理を制御するために使用される一般的なディスプレイ マネージャーです。この記事では、GDM の動作原理と構成方法を紹介し、具体的なコード例を示します。 1. GDM の動作原理 GDM は GNOME デスクトップ環境のディスプレイ マネージャーであり、X サーバーの起動とログイン インターフェイスの提供を担当します。

Linux Bashrc の機能、構成、使用法を理解する Linux Bashrc の機能、構成、使用法を理解する Mar 20, 2024 pm 03:30 PM

Linux Bashrc について: 機能、構成、および使用法 Linux システムでは、Bashrc (BourneAgainShellrunco​​mmands) は非常に重要な構成ファイルであり、システムの起動時に自動的に実行されるさまざまなコマンドと設定が含まれています。 Bashrc ファイルは通常、ユーザーのホーム ディレクトリにある隠しファイルであり、その機能はユーザーの Bashshell 環境をカスタマイズすることです。 1. Bashrc関数の設定環境

Maven 環境構成でよくある間違いを回避する: 構成の問題を解決する Maven 環境構成でよくある間違いを回避する: 構成の問題を解決する Feb 19, 2024 pm 04:56 PM

Maven は、Java プロジェクトの開発で広く使用されている Java プロジェクト管理およびビルド ツールです。 Maven を使用してプロジェクトを構築する過程で、いくつかの一般的な環境構成の問題が発生することがよくあります。この記事では、これらの一般的な質問に答え、読者が一般的な構成エラーを回避できるように具体的なコード例を示します。 1. Maven 環境変数が正しく構成されていない 問題の説明: Maven を使用する場合、環境変数が正しく構成されていないと、Maven が正しく動作しない可能性があります。解決策: 必ず確認してください

win11システムでワークグループを構成する方法 win11システムでワークグループを構成する方法 Feb 22, 2024 pm 09:50 PM

Win11 でワークグループを構成する方法 ワークグループは、ローカル エリア ネットワークで複数のコンピューターを接続する方法であり、ファイル、プリンター、その他のリソースをコンピューター間で共有できるようになります。 Win11 システムでは、ワークグループの構成は非常に簡単で、次の手順に従うだけです。ステップ 1: 「設定」アプリケーションを開く まず、Win11 システムの「スタート」ボタンをクリックし、ポップアップ メニューで「設定」アプリケーションを選択します。ショートカット「Win+I」を使用して「設定」を開くこともできます。ステップ 2: [システム] を選択します 設定アプリには、複数のオプションが表示されます。 「システム」オプションをクリックしてシステム設定ページに入ってください。ステップ 3: [バージョン情報] を選択します。 [システム] 設定ページには、複数のサブオプションが表示されます。クリックしてください

シンプルでわかりやすいPyCharmの設定Gitチュートリアル シンプルでわかりやすいPyCharmの設定Gitチュートリアル Feb 20, 2024 am 08:28 AM

PyCharm は一般的に使用される統合開発環境 (IDE) であり、日常の開発では Git を使用してコードを管理することが不可欠です。この記事では、PyCharm で Git を構成し、コード管理に Git を使用する方法を、具体的なコード例とともに紹介します。ステップ 1: Git をインストールする まず、Git がコンピューターにインストールされていることを確認します。インストールされていない場合は、[Git 公式 Web サイト](https://git-scm.com/) にアクセスして、最新バージョンの Git をダウンロードしてインストールします。

Linux システムで FTPS を構成してインストールする方法 Linux システムで FTPS を構成してインストールする方法 Mar 20, 2024 pm 02:03 PM

タイトル: Linux システムで FTPS を構成およびインストールする方法、具体的なコード例が必要です。Linux システムでは、FTPS は安全なファイル転送プロトコルです。FTP と比較して、FTPS は TLS/SSL プロトコルを通じて送信データを暗号化し、データのセキュリティを向上させます。伝染 ; 感染。この記事では、Linux システムに FTPS を構成およびインストールする方法を紹介し、具体的なコード例を示します。ステップ 1: vsftpd をインストールする ターミナルを開き、次のコマンドを入力して vsftpd をインストールします: sudo

See all articles