


mysqli 함수를 사용하여 PHP에서 mysql에 연결할 때 경고: mysqli::real_connect(): (hy000/1040): ..._php 인스턴스
배경: mysql을 mysqli로 교체할 때 연결이 너무 많은 것으로 나타났습니다. 실제로는 그렇지 않았습니다. php에서 sock 파일의 위치를 옮겼기 때문입니다. 완전히 수정되어 나타났습니다. 연결이 너무 많습니다. mysql의 show processlist에서 실제로 연결이 있는 것을 찾지 못했습니다. 실제로 tshark를 사용하여 패키지를 캡처했는데 볼 수 있는 것 같습니다. justwinit.cn/post/7458/) 요청이 없었지만 mysqli 클라이언트가 자체적으로 보고한 것 같습니다. 이 문제는 작지만 오랫동안 작업한 후 Php를 다시 설치하고 싶었습니다. 경로가 잘못 작성되었음을 발견했습니다. 동시에 mysqli 클라이언트는 연결이 너무 많다는 오류 메시지를 표시하여 방향이 잘못되었습니다. 다음과 같습니다:
[root@iZ25z0ugwgtZ etc]# grep -r "mysql.sock" ./ ./php.ini:pdo_mysql.default_socket=/data/runsock/mysqlsock/mysql.sock ./php.ini:;mysql.default_socket = /tmp/mysql.sock ./php.ini:mysql.default_socket = /data/runsock/mysqlsock/mysql.sock ./php.ini:mysqli.default_socket = /data/runsock/mysql.sock //这个位置被挪动到,/data/runsock/mysqlsock/mysql.sock导致。
수정 후 php-fpm을 다시 시작하는 것을 잊지 마세요:
[root@iZ25z0ugwgtZ etc]# service php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm done
______________문제 해결 포인트는 다음과 같습니다_________________
경고: mysqli::real_connect(): (hy000/1040): 연결이 너무 많습니다:
시나리오: mysql을 수동으로 컴파일 및 설치하고 설치 위치를 지정하면 php가 localhost 모드에서 mysql에 연결됩니다.
원인 분석: 수동 컴파일 및 설치 후 모든 mysql 파일은 지정된 디렉터리 또는 데이터 디렉터리 아래에 있습니다. 기본적으로 PHP는 이 sock 파일을 찾기 위해 /temp/mysql.sock만 찾습니다. 결과적으로 sock 파일을 찾을 수 없습니다.
해결책:
1. 양말 파일에 대한 소프트 링크를 만듭니다
ln -s /data/mysqldb/mysql.sock /tmp/mysql.sock;
또는
2. php의 기본 mysql.sock 연결 주소를 수정합니다
mysql.default_socket=/data/mysqldb/mysql.sock
3. TCP 소켓을 사용하여 연결합니다
mysql('127.0.0.1','사용자 이름','비밀번호');
PHP mysql_connect() 함수를 소개하겠습니다
정의 및 사용법
mysql_connect() 함수는 비영구 MySQL 연결을 엽니다.
문법
mysql_connect(server,user,pwd,newlink,clientflag)
매개변수 | 설명 |
---|---|
서버 |
선택사항. 연결할 서버를 지정합니다. "hostname:port"와 같은 포트 번호 또는 로컬 호스트의 경우 ":/path/to/socket"과 같은 로컬 소켓 경로를 포함할 수 있습니다. PHP 지시문 mysql.default_host가 정의되지 않은 경우(기본 경우) 기본값은 'localhost:3306'입니다. |
사용자 | 선택사항. 사용자 이름. 기본값은 서버 프로세스 소유자의 사용자 이름입니다. |
비밀번호 | 선택사항. 비밀번호. 기본값은 빈 비밀번호입니다. |
새링크 | 선택사항. 동일한 매개변수를 사용하여 mysql_connect()를 두 번째로 호출하면 새 연결이 설정되지 않지만 이미 열려 있는 연결의 ID가 반환됩니다. new_link 매개변수는 이 동작을 변경하고 mysql_connect()가 이전에 동일한 매개변수로 호출된 경우에도 mysql_connect()가 항상 새 연결을 열도록 합니다. |
클라이언트 플래그 |
선택사항. client_flags 매개변수는 다음 상수의 조합일 수 있습니다.
|
返回值
如果成功,则返回一个 MySQL 连接标识,失败则返回 FALSE。
提示和注释
注释:脚本一结束,到服务器的连接就被关闭,除非之前已经明确调用 mysql_close() 关闭了。
提示:要创建一个持久连接,请使用 mysql_pconnect() 函数。
例子
<?php $con = mysql_connect("localhost","mysql_user","mysql_pwd"); if (!$con) { die('Could not connect: ' . mysql_error()); } // 一些代码... mysql_close($con); ?>

TomakePhPapplicationSfaster, followthesesteps : 1) useopCodeCaching likeOpcachetOrpectipiledScriptBecode.2) MinimizedAtabaseQueriesByUsingQueryCachingandEfficientIndexing.3) leveragephp7 assistorBetterCodeeficiession.4) 구현 전략적 지시

toImprovePhPapplicationSpeed, followthesesteps : 1) enableOpCodeCachingWithApcuTeCeScripteXecutionTime.2) 구현 구현

의존성 주입 (DI)은 명시 적으로 전이적 종속성에 의해 PHP 코드의 테스트 가능성을 크게 향상시킵니다. 1) DI 디퍼 커플 링 클래스 및 특정 구현은 테스트 및 유지 보수를보다 유연하게 만듭니다. 2) 세 가지 유형 중에서, 생성자는 상태를 일관성있게 유지하기 위해 명시 적 표현 의존성을 주입합니다. 3) DI 컨테이너를 사용하여 복잡한 종속성을 관리하여 코드 품질 및 개발 효율성을 향상시킵니다.

DatabaseQuesyOptimizationInphPinVolvesVesstoigiestoInsperferferferferformance.1) SelectOnlyNecessaryColumnstoredAtatatransfer.2) useinDexingTeSpeedUpdatarretieval.3) ubstractOrerEresultSoffRequeries.4) UtilizePreDstatements Offeffi

phpisusedforendingemailsduetoitsbuitsbuitsbuit-inmail () functionandsupportivelibraries lifephpmailerandswiftmailer.1) usethemail () functionforbasicemails, butithaslimitations.2) EmployPhpmailerforAdvancedFeatirehtMailsAndAtachments.3))

PHP 성능 병목 현상은 다음 단계를 통해 해결할 수 있습니다. 1) 성능 분석을 위해 Xdebug 또는 Blackfire를 사용하여 문제를 찾으십시오. 2) 데이터베이스 쿼리 최적화 및 APCU와 같은 캐시 사용; 3) Array_Filter와 같은 효율적인 기능을 사용하여 배열 작업을 최적화합니다. 4) 바이트 코드 캐시에 대한 OpCache 구성; 5) HTTP 요청을 줄이고 사진 최적화와 같은 프론트 엔드 최적화; 6) 지속적으로 모니터링하고 성능을 최적화합니다. 이러한 방법을 통해 PHP 응용 프로그램의 성능을 크게 향상시킬 수 있습니다.

종속성 주사 (di) inphpisadesignpattern thatmanages 및 enpleducesclassdelencies, 향상 codemodularity, trestability 및 maintainability .itallowspassingDepporsingDikedAbaseConnectionStoclassesAssparameters, 촉진 이용성.

cachingimprovesphpperferferfermanceStoringResultsOfcomputationSorqueriesforquickRetrieval, retingServerloadandenhancancing responsetimestimes : 1) opcodecaching, opcodecaching, whitescompiledphps scriptsinmorytoskipcompileation; 2) dataCachingUsingmemmc


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구