<?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);
大家好!
对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()

随着互联网的发展,PHP应用程序在互联网应用领域中变得越来越常见。但是,PHP应用程序的高并发访问会导致服务器的CPU使用率高,从而影响应用程序的性能。为了优化PHP应用程序的性能,Memcached缓存技术成为了一种很好的选择。本文将介绍如何使用Memcached缓存技术优化PHP应用程序CPU的使用率。Memcached缓存技术简介Memcached是一

目前,PHP已成为互联网开发中最加盛行的编程语言之一,而PHP程序的性能优化也成为了最紧迫的问题之一。在处理大规模的并发请求时,一秒钟的延迟都可能对用户体验产生巨大的影响。如今,APCu(AlternativePHPCache)缓存技术已经成为优化PHP应用性能的一种重要的方法之一。本文将介绍如何使用APCu缓存技术来优化PHP应用程序的性能。一、APC

如何通过PHP优化SuiteCRM的客户端性能概述:SuiteCRM是一个功能强大的开源客户关系管理(CRM)系统,但在处理大量数据和并发用户时,可能会出现性能问题。本文将介绍一些通过PHP编程技巧来优化SuiteCRM客户端性能的方法,并附上相应的代码示例。使用适当的数据查询和索引数据库查询是CRM系统的核心操作之一。为了提高查询性能,需要使用适当的数据查

如何优化PHP的数据库连接和查询性能?数据库是Web开发中不可或缺的一部分,而PHP作为一种广泛使用的服务器端脚本语言,其与数据库的连接和查询性能对于整个系统的性能至关重要。本文将介绍一些优化PHP数据库连接和查询性能的技巧和建议。使用持久化连接:在PHP中,每次执行数据库查询时都会建立一次数据库连接。而持久化连接可以在多次查询中重用同一个数据库连接,从而减

如何利用PHP优化SuiteCRM的项目管理功能SuiteCRM是一款功能强大的开源客户关系管理(CRM)系统,它提供了广泛的功能和可定制性。在项目管理方面,SuiteCRM提供了一些基本功能,如任务分配、进度跟踪和文件共享等。然而,有时我们需要根据特定的业务需求对项目管理功能进行优化。在本文中,我们将介绍如何利用PHP编程语言来扩展和优化SuiteCRM的

PHP网站访问速度优化:如何减少页面重定向?概述:在开发和优化一个PHP网站时,提高网站的访问速度是一个关键的考虑因素。页面重定向是一个常见的性能问题,它会导致额外的HTTP请求和延迟,从而影响用户体验。本文将介绍如何通过减少页面重定向来优化PHP网站的访问速度,并提供一些代码示例。检查并修复无效的URL跳转:页面重定向通常是由于无效的URL跳转所引起的。这

如何利用PHP优化织梦建站效果在当今互联网崛起浪潮中,搭建一个高效、优质的网站愈发重要。织梦(DedeCMS)是一个功能强大的建站系统,但有时候它的默认功能可能无法完全满足我们的需求。在这篇文章中,我们将探讨如何利用PHP优化织梦建站效果,并提供一些具体的代码示例。1.优化网站速度网站速度是用户体验和SEO排名的重要因素之一,通过优化PHP代码可以提高网站

如何优化PHP常见问题合集的开发流程导言:PHP常见问题合集是一个常用的开发工具,旨在解决PHP开发过程中常见的问题或者提供一些实用的功能。然而,在开发这样一个工具的过程中,可能会遇到一些开发效率低下、代码质量低下等问题。本文将介绍如何优化PHP常见问题合集的开发流程,以提高开发效率和代码质量。一、制定明确的开发计划在开发PHP常见问题合集之前,需要制定一个


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

SublimeText3 Chinese version
Chinese version, very easy to use

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Dreamweaver Mac version
Visual web development tools
