search
HomeBackend DevelopmentPHP TutorialWhen using mysqli function to connect to mysql under PHP, warning: mysqli::real_connect(): (hy000/1040): ..._php instance

Background: When replacing mysql with mysqli, it appeared that there were too many connections. In fact, it was not the case. The reason was that I moved the location of the sock file in php. Because these socket modifications were not completely modified, it appeared. Too many connections. From the show processlist in mysql, I did not find that there is really a connection. In fact, I used tshark to capture the package and I guess I can see it (http://justwinit.cn/post/7458/). No request was made, but I guess it was. The mysqli client reported it by itself. Although this problem is small, after working on it for a long time, I wanted to reinstall Php. I found that the path was written wrong. At the same time, the mysqli client gave an error message of too many connections, which caused the direction to go. Wrong. As follows:

[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导致。

Remember to restart php-fpm after modification:

[root@iZ25z0ugwgtZ etc]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done

_______________The troubleshooting points are as follows_______________________________

warning: mysqli::real_connect(): (hy000/1040): too many connections in:

Scenario: Manually compile and install mysql, and specify the installation location, php connects to mysql in localhost mode

Cause analysis: After manual compilation and installation, all mysql files are under the specified directory or data directory. By default, PHP will only look for /temp/mysql.sock to find this sock file, so it will As a result, the sock file cannot be found.

Solution:

1. Make a soft link to the sock file

ln -s /data/mysqldb/mysql.sock /tmp/mysql.sock;

or

2. Modify the default mysql.sock connection address of php

mysql.default_socket=/data/mysqldb/mysql.sock

3. Use tcp socket to connect

mysql('127.0.0.1','username','passwod');

Let me introduce to you the PHP mysql_connect() function

Definition and usage

The mysql_connect() function opens a non-persistent MySQL connection.

Grammar

mysql_connect(server,user,pwd,newlink,clientflag)

Parameters Description
server

Optional. Specifies the server to connect to.

Can include a port number, such as "hostname:port", or a path to a local socket, such as ":/path/to/socket" for localhost.

If the PHP directive mysql.default_host is not defined (the default case), the default value is 'localhost:3306'.

user Optional. username. The default value is the username of the server process owner.
pwd Optional. password. The default value is an empty password.
newlink Optional. If mysql_connect() is called a second time with the same parameters, no new connection will be established, but the ID of the already open connection will be returned. The parameter new_link changes this behavior and causes mysql_connect() to always open a new connection, even when mysql_connect() has been called previously with the same parameters.
clientflag

Optional. The client_flags parameter can be a combination of the following constants:

  • MYSQL_CLIENT_SSL - 使用 SSL 加密
  • MYSQL_CLIENT_COMPRESS - 使用压缩协议
  • MYSQL_CLIENT_IGNORE_SPACE - 允许函数名后的间隔
  • MYSQL_CLIENT_INTERACTIVE - 允许关闭连接之前的交互超时非活动时间

返回值

如果成功,则返回一个 MySQL 连接标识,失败则返回 FALSE。

提示和注释

注释:脚本一结束,到服务器的连接就被关闭,除非之前已经明确调用 mysql_close() 关闭了。
提示:要创建一个持久连接,请使用 mysql_pconnect() 函数。

例子

<&#63;php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
// 一些代码...
mysql_close($con);
&#63;>
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How to make PHP applications fasterHow to make PHP applications fasterMay 12, 2025 am 12:12 AM

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

PHP Performance Optimization Checklist: Improve Speed NowPHP Performance Optimization Checklist: Improve Speed NowMay 12, 2025 am 12:07 AM

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

PHP Dependency Injection: Improve Code TestabilityPHP Dependency Injection: Improve Code TestabilityMay 12, 2025 am 12:03 AM

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

PHP Performance Optimization: Database Query OptimizationPHP Performance Optimization: Database Query OptimizationMay 12, 2025 am 12:02 AM

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

Simple Guide: Sending Email with PHP ScriptSimple Guide: Sending Email with PHP ScriptMay 12, 2025 am 12:02 AM

PHPisusedforsendingemailsduetoitsbuilt-inmail()functionandsupportivelibrarieslikePHPMailerandSwiftMailer.1)Usethemail()functionforbasicemails,butithaslimitations.2)EmployPHPMailerforadvancedfeatureslikeHTMLemailsandattachments.3)Improvedeliverability

PHP Performance: Identifying and Fixing BottlenecksPHP Performance: Identifying and Fixing BottlenecksMay 11, 2025 am 12:13 AM

PHP performance bottlenecks can be solved through the following steps: 1) Use Xdebug or Blackfire for performance analysis to find out the problem; 2) Optimize database queries and use caches, such as APCu; 3) Use efficient functions such as array_filter to optimize array operations; 4) Configure OPcache for bytecode cache; 5) Optimize the front-end, such as reducing HTTP requests and optimizing pictures; 6) Continuously monitor and optimize performance. Through these methods, the performance of PHP applications can be significantly improved.

Dependency Injection for PHP: a quick summaryDependency Injection for PHP: a quick summaryMay 11, 2025 am 12:09 AM

DependencyInjection(DI)inPHPisadesignpatternthatmanagesandreducesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itallowspassingdependencieslikedatabaseconnectionstoclassesasparameters,facilitatingeasiertestingandscalability.

Increase PHP Performance: Caching Strategies & TechniquesIncrease PHP Performance: Caching Strategies & TechniquesMay 11, 2025 am 12:08 AM

CachingimprovesPHPperformancebystoringresultsofcomputationsorqueriesforquickretrieval,reducingserverloadandenhancingresponsetimes.Effectivestrategiesinclude:1)Opcodecaching,whichstorescompiledPHPscriptsinmemorytoskipcompilation;2)DatacachingusingMemc

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Safe Exam Browser

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.

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool