목차
回复讨论(解决方案)

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);
로그인 후 복사

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

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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 Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

APCu 캐싱 기술을 사용하여 PHP 애플리케이션의 성능을 최적화하는 방법은 무엇입니까? APCu 캐싱 기술을 사용하여 PHP 애플리케이션의 성능을 최적화하는 방법은 무엇입니까? Jun 20, 2023 pm 09:47 PM

현재 PHP는 인터넷 개발에서 가장 인기 있는 프로그래밍 언어 중 하나가 되었으며, PHP 프로그램의 성능 최적화도 가장 시급한 문제 중 하나가 되었습니다. 대규모 동시 요청을 처리할 때 1초의 지연은 사용자 경험에 큰 영향을 미칠 수 있습니다. 오늘날 APCu(AlternativePHPCache) 캐싱 기술은 PHP 애플리케이션 성능을 최적화하는 중요한 방법 중 하나가 되었습니다. 이 기사에서는 APCu 캐싱 기술을 사용하여 PHP 애플리케이션의 성능을 최적화하는 방법을 소개합니다. 1. APC

Memcached 캐싱 기술을 사용하여 PHP 애플리케이션 CPU 사용량을 최적화하는 방법은 무엇입니까? Memcached 캐싱 기술을 사용하여 PHP 애플리케이션 CPU 사용량을 최적화하는 방법은 무엇입니까? Jun 21, 2023 pm 05:07 PM

인터넷이 발전하면서 PHP 애플리케이션은 인터넷 애플리케이션 분야에서 점점 더 보편화되었습니다. 그러나 PHP 애플리케이션의 동시 액세스가 높으면 서버의 CPU 사용량이 높아져 애플리케이션 성능에 영향을 줄 수 있습니다. PHP 애플리케이션의 성능을 최적화하기 위해서는 Memcached 캐싱 기술이 좋은 선택이 되었습니다. 이 기사에서는 Memcached 캐싱 기술을 사용하여 PHP 애플리케이션의 CPU 사용량을 최적화하는 방법을 소개합니다. Memcached 캐싱 기술 소개 Memcached는

PHP를 사용하여 SuiteCRM의 클라이언트 측 성능을 최적화하는 방법 PHP를 사용하여 SuiteCRM의 클라이언트 측 성능을 최적화하는 방법 Jul 20, 2023 am 10:00 AM

PHP를 사용하여 SuiteCRM의 클라이언트 측 성능을 최적화하는 방법 개요: SuiteCRM은 강력한 오픈 소스 CRM(고객 관계 관리) 시스템이지만 대량의 데이터와 동시 사용자를 처리할 때 성능 문제가 발생할 수 있습니다. 이 기사에서는 PHP 프로그래밍 기술을 통해 SuiteCRM 클라이언트 성능을 최적화하는 몇 가지 방법을 소개하고 해당 코드 예제를 첨부합니다. 적절한 데이터 쿼리 및 인덱스 사용 데이터베이스 쿼리는 CRM 시스템의 핵심 작업 중 하나입니다. 쿼리 성능을 향상시키기 위해 적절한 데이터 쿼리

PHP의 데이터베이스 연결 및 쿼리 성능을 최적화하는 방법은 무엇입니까? PHP의 데이터베이스 연결 및 쿼리 성능을 최적화하는 방법은 무엇입니까? Jun 29, 2023 am 10:25 AM

PHP의 데이터베이스 연결 및 쿼리 성능을 최적화하는 방법은 무엇입니까? 데이터베이스는 웹 개발의 필수적인 부분이며 널리 사용되는 서버 측 스크립팅 언어로서 PHP의 데이터베이스 연결 및 쿼리 성능은 전체 시스템 성능에 매우 중요합니다. 이 문서에서는 PHP 데이터베이스 연결 및 쿼리 성능을 최적화하기 위한 몇 가지 팁과 제안을 소개합니다. 영구 연결 사용: PHP에서는 데이터베이스 쿼리가 실행될 때마다 데이터베이스 연결이 설정됩니다. 영구 연결은 여러 쿼리에서 동일한 데이터베이스 연결을 재사용할 수 있으므로

다양한 PHP 버전의 함수 성능을 최적화하는 방법은 무엇입니까? 다양한 PHP 버전의 함수 성능을 최적화하는 방법은 무엇입니까? Apr 25, 2024 pm 03:03 PM

다양한 PHP 버전에 대한 함수 성능을 최적화하는 방법에는 함수 병목 현상을 식별하기 위한 분석 도구 사용, opcode 캐싱 활성화 또는 외부 캐싱 시스템 사용, 성능 향상을 위한 유형 주석 추가, PHP 버전에 따른 적절한 문자열 연결 및 정렬 선택이 포함됩니다.

PHP를 사용하여 SuiteCRM의 프로젝트 관리 기능을 최적화하는 방법 PHP를 사용하여 SuiteCRM의 프로젝트 관리 기능을 최적화하는 방법 Jul 17, 2023 am 11:34 AM

PHP를 사용하여 SuiteCRM의 프로젝트 관리 기능을 최적화하는 방법 SuiteCRM은 광범위한 기능과 사용자 정의 가능성을 제공하는 강력한 오픈 소스 고객 관계 관리(CRM) 시스템입니다. 프로젝트 관리 측면에서 SuiteCRM은 작업 할당, 진행 상황 추적, 파일 공유와 같은 몇 가지 기본 기능을 제공합니다. 그러나 때로는 특정 비즈니스 요구 사항에 따라 프로젝트 관리 기능을 최적화해야 하는 경우도 있습니다. 이 기사에서는 PHP 프로그래밍 언어를 활용하여 SuiteCRM을 확장하고 최적화하는 방법을 설명합니다.

PHP를 사용하여 Dreamweaver 웹 사이트 구축 효과를 최적화하는 방법 PHP를 사용하여 Dreamweaver 웹 사이트 구축 효과를 최적화하는 방법 Mar 27, 2024 pm 01:51 PM

PHP를 사용하여 DreamWeaver 웹사이트 구축 효과를 최적화하는 방법 오늘날 인터넷이 보급되면서 효율적이고 고품질의 웹사이트를 구축하는 것이 점점 더 중요해지고 있습니다. DedeCMS는 강력한 웹 사이트 구축 시스템이지만 때로는 기본 기능이 우리의 요구 사항을 완전히 충족하지 못할 수도 있습니다. 이 문서에서는 PHP를 사용하여 Dreamweaver 웹 사이트 구축 효과를 최적화하는 방법을 살펴보고 몇 가지 구체적인 코드 예제를 제공합니다. 1. 웹사이트 속도 최적화 웹사이트 속도는 사용자 경험에 중요한 요소 중 하나이며, 웹사이트 속도는 PHP 코드를 최적화하여 향상시킬 수 있습니다.

심층 해석: 수집된 데이터 처리 시 PHP 및 정규식의 효율성을 최적화하는 방법 심층 해석: 수집된 데이터 처리 시 PHP 및 정규식의 효율성을 최적화하는 방법 Aug 06, 2023 am 11:15 AM

심층 해석: PHP의 효율성을 최적화하는 방법 및 수집된 데이터의 정규식 처리 개요: 웹 크롤러 및 데이터 수집 과정에서 정규식은 웹 콘텐츠에서 필요한 데이터를 추출하기 위해 일반적으로 사용되는 도구입니다. 그러나 대규모 데이터 수집 작업은 효율성 문제에 직면할 수 있습니다. 이 글에서는 PHP와 정규 표현식의 사용을 최적화하여 데이터 수집의 효율성을 높이는 방법을 소개합니다. 1. 정규식을 사용하기 전 데이터 정리 정규식 일치 전에 원본 데이터에 대해 일부 처리를 수행하여 후속 성능을 향상시킬 수 있습니다.

See all articles