Table des matières
回复讨论(解决方案)

php优化

Jun 23, 2016 pm 02:23 PM
php优化

本帖最后由 xuzuning 于 2013-09-30 13:05:14 编辑

<?php//define server info begin$servername = "192.168.1.182";  $serverusername = "whh";  $serverpassword = "whh"; $database="whh";$usertable="user";$userfield="user_name";$passwordfield="password";//define server info end$fh  = fopen("php://stdin", 'r');$stdout = fopen('php://stdout', 'w');$fs = fopen("auth-log.txt." . getmypid(), 'a');if(!$fh){    die("Cannot open STDIN\n");}do{    $lenBytes = fgets($fh, 3);    $len = unpack('n', $lenBytes);    $len = $len[1];    if($len<1) continue;    $msg = fgets($fh, $len+1);    $toks=explode(':',$msg);    fwrite($fs, $msg . "\n");    $method = array_shift($toks);    fwrite($fs, "$method\n");    $result = false;    switch($method){        case 'auth':            list($username, $server, $password) = $toks;            $password = trim($password);            fwrite($fs, "checking user: $username and password $password\n");            //check password begin						$conn=mysql_connect($servername, $serverusername, $serverpassword); 						mysql_query("set names 'utf8'");						if(!$conn){                              						  die("could not connect to the database");						}						$db_select=mysql_select_db($database);//选择数据库        						if(!$db_select)						{						  die("could not to the database");						}						$query="select * from $usertable where $userfield = '$username' and $passwordfield='$password'";//构建查询语句						$result=mysql_query($query);//执行查询						$count=mysql_numrows($result);//取得条数						mysql_close($conn);						if($count > 0){							$result = true;						}else{							$result = false;						}						//check password end            break;        case 'isuser':            list($username, $server) = $toks;            //check password begin						$conn=mysql_connect($servername, $serverusername, $serverpassword); 						mysql_query("set names 'utf8'");						if(!$conn){                              						  die("could not connect to the database");						}						$db_select=mysql_select_db($database);//选择数据库        						if(!$db_select)						{						  die("could not to the database");						}						$query="select * from $usertable where $userfield = '$username'";//构建查询语句						$result=mysql_query($query);//执行查询						$count=mysql_numrows($result);//取得条数						mysql_close($conn);						if($count > 0){							$result = true;						}else{							$result = false;						}						//check password end            break;        default:            $result = false;    }        $message =  @pack("nn", 2, $result);        fwrite($stdout, $message);        $dump = @unpack("nn", $message);        $dump = $dump["n"];        fwrite($fs, $dump . "\n");        flush();} while(true);
Copier après la connexion

大家好!
对php我不懂,请大家看下是否可以对该php做些优化呢?
我是写java的,发现可能在这个地方“$conn=mysql_connect($servername, $serverusername, $serverpassword);”可以进行优化,没有必要每次都生成一个$conn。

回复讨论(解决方案)

没有什么可优化的
在传入的数据中,可能只有 auth,也可能只有 isuser,更可能两者都没有
完全没有必要在可能无需数据库访问的情况下,做数据库连接

程序的优化不是减少代码,而是提升性能

如果传入参数都一致的话,$conn及其判断可以提到do...while前面

如果传入参数都一致的话,$conn及其判断可以提到do...while前面
求关注 有问题想问一下~~


如果传入参数都一致的话,$conn及其判断可以提到do...while前面
求关注 有问题想问一下~~
发帖子问吧,难的老徐出手,简单的很多人出手



如果传入参数都一致的话,$conn及其判断可以提到do...while前面
求关注 有问题想问一下~~
发帖子问吧,难的老徐出手,简单的很多人出手
看到你回复过某人页游私聊器 请问您会做吗 ?




如果传入参数都一致的话,$conn及其判断可以提到do...while前面
求关注 有问题想问一下~~
发帖子问吧,难的老徐出手,简单的很多人出手
看到你回复过某人页游私聊器 请问您会做吗 ?
不会,只是知道原理而已





如果传入参数都一致的话,$conn及其判断可以提到do...while前面
求关注 有问题想问一下~~
发帖子问吧,难的老徐出手,简单的很多人出手
看到你回复过某人页游私聊器 请问您会做吗 ?
不会,只是知道原理而已
哦 好吧 谢谢哈 不过您有认识的人会做这类程序吗?

哦 好吧 谢谢哈 不过您有认识的人会做这类程序吗?
目前没有,最近很少写php,帮不上忙

为什么会有问这个问题。
因为我们项目用的聊天服务器是ejabberd。目前客户端是通过smack去链接的。
发现最大用户登录并发量只有5人。
所以问题应该出现在这3个方面
A.smack客户端。
B.ejabberd服务器本身的配置
C.ejabberd外置校验的时候,通过php去连接mysql的。(所以我看下php有没有可以优化的)

使用pdo,prepare()

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser la technologie de mise en cache APCu pour optimiser les performances des applications PHP ? Comment utiliser la technologie de mise en cache APCu pour optimiser les performances des applications PHP ? Jun 20, 2023 pm 09:47 PM

À l'heure actuelle, PHP est devenu l'un des langages de programmation les plus populaires dans le développement Internet, et l'optimisation des performances des programmes PHP est également devenue l'une des questions les plus urgentes. Lors du traitement de requêtes simultanées à grande échelle, un délai d’une seconde peut avoir un impact considérable sur l’expérience utilisateur. Aujourd'hui, la technologie de mise en cache APCu (AlternativePHPCache) est devenue l'une des méthodes importantes pour optimiser les performances des applications PHP. Cet article explique comment utiliser la technologie de mise en cache APCu pour optimiser les performances des applications PHP. 1. CAP

Comment optimiser l'utilisation du processeur des applications PHP à l'aide de la technologie de mise en cache Memcached ? Comment optimiser l'utilisation du processeur des applications PHP à l'aide de la technologie de mise en cache Memcached ? Jun 21, 2023 pm 05:07 PM

Avec le développement d'Internet, les applications PHP sont devenues de plus en plus courantes dans le domaine des applications Internet. Cependant, un accès simultané élevé par les applications PHP peut entraîner une utilisation élevée du processeur sur le serveur, affectant ainsi les performances de l'application. Afin d'optimiser les performances des applications PHP, la technologie de mise en cache Memcached est devenue un bon choix. Cet article explique comment utiliser la technologie de mise en cache Memcached pour optimiser l'utilisation du processeur des applications PHP. Introduction à la technologie de mise en cache Memcached Memcached est un

Comment optimiser les performances côté client de SuiteCRM avec PHP Comment optimiser les performances côté client de SuiteCRM avec PHP Jul 20, 2023 am 10:00 AM

Présentation de la manière d'optimiser les performances côté client de SuiteCRM avec PHP : SuiteCRM est un puissant système de gestion de la relation client (CRM) open source, mais des problèmes de performances peuvent survenir lors de la gestion de grandes quantités de données et d'utilisateurs simultanés. Cet article présentera quelques méthodes pour optimiser les performances du client SuiteCRM grâce à des techniques de programmation PHP et joindra des exemples de code correspondants. Utiliser des requêtes de données et des index appropriés Les requêtes de base de données sont l'une des opérations principales d'un système CRM. Afin d'améliorer les performances des requêtes, des requêtes de données appropriées

Comment optimiser la connexion à la base de données PHP et les performances des requêtes ? Comment optimiser la connexion à la base de données PHP et les performances des requêtes ? Jun 29, 2023 am 10:25 AM

Comment optimiser la connexion à la base de données PHP et les performances des requêtes ? La base de données fait partie intégrante du développement Web et, en tant que langage de script côté serveur largement utilisé, la connexion de PHP à la base de données et les performances des requêtes sont cruciales pour les performances de l'ensemble du système. Cet article présentera quelques conseils et suggestions pour optimiser la connexion à la base de données PHP et les performances des requêtes. Utiliser des connexions persistantes : en PHP, une connexion à la base de données est établie à chaque fois qu'une requête de base de données est exécutée. Les connexions persistantes peuvent réutiliser la même connexion à la base de données dans plusieurs requêtes, réduisant ainsi

Comment optimiser les performances des fonctions pour les différentes versions de PHP ? Comment optimiser les performances des fonctions pour les différentes versions de PHP ? Apr 25, 2024 pm 03:03 PM

Les méthodes permettant d'optimiser les performances des fonctions pour différentes versions de PHP incluent : l'utilisation d'outils d'analyse pour identifier les goulots d'étranglement des fonctions ; l'activation de la mise en cache des opcodes ou l'utilisation d'un système de mise en cache externe ; l'ajout d'annotations de type pour améliorer les performances et la sélection d'algorithmes de concaténation et de tri de chaînes appropriés en fonction de la version de PHP.

Comment utiliser PHP pour optimiser la fonction de gestion de projet de SuiteCRM Comment utiliser PHP pour optimiser la fonction de gestion de projet de SuiteCRM Jul 17, 2023 am 11:34 AM

Comment utiliser PHP pour optimiser les fonctions de gestion de projet de SuiteCRM SuiteCRM est un puissant système de gestion de la relation client (CRM) open source qui offre un large éventail de fonctions et de personnalisation. En termes de gestion de projet, SuiteCRM fournit certaines fonctions de base, telles que l'attribution de tâches, le suivi des progrès et le partage de fichiers. Cependant, nous devons parfois optimiser les capacités de gestion de projet en fonction des besoins spécifiques de l'entreprise. Dans cet article, nous verrons comment tirer parti du langage de programmation PHP pour étendre et optimiser les fonctionnalités de SuiteCRM.

Comment utiliser PHP pour optimiser l'effet de la création de sites Web Dreamweaver Comment utiliser PHP pour optimiser l'effet de la création de sites Web Dreamweaver Mar 27, 2024 pm 01:51 PM

Comment utiliser PHP pour optimiser l'effet de la création de sites Web DreamWeaver. Dans le contexte actuel de l'essor d'Internet, il est de plus en plus important de créer un site Web efficace et de haute qualité. DedeCMS est un puissant système de création de sites Web, mais parfois ses fonctions par défaut peuvent ne pas répondre pleinement à nos besoins. Dans cet article, nous explorerons comment utiliser PHP pour optimiser l'effet de la création de sites Web Dreamweaver et fournirons quelques exemples de code spécifiques. 1. Optimiser la vitesse du site Web. La vitesse du site Web est l’un des facteurs importants pour l’expérience utilisateur et la vitesse du site Web peut être améliorée en optimisant le code PHP.

Comment optimiser l'interface utilisateur de SuiteCRM avec PHP Comment optimiser l'interface utilisateur de SuiteCRM avec PHP Jul 17, 2023 am 10:27 AM

Comment optimiser l'interface utilisateur de SuiteCRM avec PHP SuiteCRM est un logiciel CRM (gestion de la relation client) open source populaire qui offre des fonctionnalités puissantes et une personnalisation flexible. Cependant, lorsque vous utilisez SuiteCRM, vous constatez parfois que l'interface utilisateur (UI) fonctionne mal ou ne répond pas à des besoins spécifiques. À l'heure actuelle, nous pouvons optimiser l'interface utilisateur de SuiteCRM en utilisant le langage de programmation PHP pour améliorer les performances et répondre à des besoins spécifiques. Cet article présentera quelques optimisations pour SuiteC

See all articles