데이터 베이스 MySQL 튜토리얼 php-mysql扩展的mysql

php-mysql扩展的mysql

Jun 07, 2016 pm 03:20 PM
linux mysql 확장하다 입력하다

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 今天我们来探讨一下php-mysql扩展的mysql_connect/mysql_pconnect比较 item mysql_connect mysql_pconnect 函数原型 resource mysql_connect($host_port, $user, $passwd, $newlink, $client_flags);

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  今天我们来探讨一下php-mysql扩展的mysql_connect/mysql_pconnect比较

item

mysql_connect

mysql_pconnect

函数原型

resource mysql_connect($host_port, $user, $passwd, $newlink, $client_flags);

第四个参数$newlink标记是否创建新的资源对象

resource mysql_pconnect($host_port, $user, $passwd, $client_flags);

allow_persistent指令

设置此指令使得两个函数行为均和mysql_connect()一致

连接资源对象获取

  1. $host_port, $user, $passwd, $client_flags求哈希值
  2. 在普通资源列表(EG(regular_list))中查找连接对象(已找到并且没有设置$newlink强制创建新连接)
  3. 检查找到的对象是否资源类型
  4. 从查找到的对象中读取连接对象
  5. 将当前获取的连接对象设置为全局默认连接对象
  6. 增加连接对象的引用计数, 设置zval属性返回
  1. $host_port, $user, $passwd, $client_flags求哈希值
  2. 从持久化资源列表(EG(persist_list))中查找连接对象(没有找到)
  3. 检查max_links配置指令限制是否到达
  4. 检查max_persistent配置指令限制是否到达
  5. 分配连接对象(php_mysql_conn)空间
  6. 设置连接对象的基础属性
  7. 初始化驱动层连接对象(mysqlnd/libmysql两种方式)
  8. 设置连接超时时间
  9. 发起驱动层的真实连接请求
  10. 构造持久化列表元素对象, 将新连接对象设置到元素中
  11. 将连接对象更新到持久化列表中
  12. 更新(增加)num_persistent/num_links计数
  13. 注册资源类型返回值
  14. 将当前获取的连接设置为全局默认连接对象
  1. $host_port, $user, $passwd, $client_flags求哈希值
  2. 在普通资源列表(EG(regular_list))中查找连接对象(未找到或设置了$newlink强制创建新连接)
  3. 检查max_links配置指令限制
  4. 分配连接对象(php_mysql_conn)空间
  5. 设置连接对象基础属性
  6. 初始化驱动层连接对象(mysqlnd/libmysql)
  7. 设置连接超时时间
  8. 发起驱动层的真实连接
  9. 将连接对象注册为资源类型返回值
  10. 将连接对象更新到普通资源列表(EG(regualr_list))
  11. 更新num_links计数
  12. 将当前获取的连接对象设置为全局默认连接对象
  1. $host_port, $user, $passwd, $client_flags求哈希值
  2. 从持久化资源列表中查找连接对象(已找到)
  3. 检查查找到的持久化资源的类型是否匹配
  4. 从持久化资源中读取连接对象
  5. 设置连接对象基本属性
  6. 检查服务端是否主动关闭
  7. 如果服务端主动关闭则进行重连
  8. 注册资源类型返回值
  9. 将当前获取的连接设置为全局默认连接对象

regular_list Vs. persistent_list

  1. regular_listpersistent_list两者都是HashTable
  2. 两者都是执行全局环境executor_globals的成员
  3. 两者生命周期不同, regular_listphp_request_shutdown()时被释放, 也就是单个请求处理完成之后释放, persistent_listphp_module_shutdown()的时候调用zend_shutdown()释放, 也就是在整个进程完成执行时释放

php-mysql扩展的mysql

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

Video Face Swap

Video Face Swap

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

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

MySQL 및 Phpmyadmin : 핵심 기능 및 기능 MySQL 및 Phpmyadmin : 핵심 기능 및 기능 Apr 22, 2025 am 12:12 AM

MySQL 및 Phpmyadmin은 강력한 데이터베이스 관리 도구입니다. 1) MySQL은 데이터베이스 및 테이블을 작성하고 DML 및 SQL 쿼리를 실행하는 데 사용됩니다. 2) PHPMYADMIN은 데이터베이스 관리, 테이블 구조 관리, 데이터 운영 및 사용자 권한 관리에 직관적 인 인터페이스를 제공합니다.

Linux의 Docker : Linux 시스템 용 컨테이너화 Linux의 Docker : Linux 시스템 용 컨테이너화 Apr 22, 2025 am 12:03 AM

Linux는 풍부한 도구와 커뮤니티 지원을 제공하는 기본 플랫폼이기 때문에 Docker는 Linux에서 중요합니다. 1. Docker 설치 : Sudoapt-Getupdate 및 Sudoapt-GetInstalldocker-Cedocker-Ce-clicotainerd.io를 사용하십시오. 2. 컨테이너 생성 및 관리 : Dockerrun-D-Namemynginx-P80 : 80nginx와 같은 Dockerrun 명령을 사용하십시오. 3. Dockerfile 쓰기 : 이미지 크기를 최적화하고 다단계 구성을 사용하십시오. 4. 최적화 및 디버깅 : DockerLogs 및 Dockerex를 사용하십시오

MySQL에서 외국 키의 목적을 설명하십시오. MySQL에서 외국 키의 목적을 설명하십시오. Apr 25, 2025 am 12:17 AM

MySQL에서 외국 키의 기능은 테이블 간의 관계를 설정하고 데이터의 일관성과 무결성을 보장하는 것입니다. 외국 키는 참조 무결성 검사 및 계단식 작업을 통해 데이터의 효과를 유지합니다. 성능 최적화에주의를 기울이고 사용할 때 일반적인 오류를 피하십시오.

SQL vs. MySQL : 둘 사이의 관계를 명확히합니다 SQL vs. MySQL : 둘 사이의 관계를 명확히합니다 Apr 24, 2025 am 12:02 AM

SQL은 관계형 데이터베이스를 관리하는 표준 언어이며 MySQL은 SQL을 사용하는 데이터베이스 관리 시스템입니다. SQL은 CRUD 작업을 포함한 데이터베이스와 상호 작용하는 방법을 정의하는 반면 MySQL은 SQL 표준을 구현하고 저장 프로 시저 및 트리거와 같은 추가 기능을 제공합니다.

MySQL 및 Mariadb를 비교하고 대조하십시오. MySQL 및 Mariadb를 비교하고 대조하십시오. Apr 26, 2025 am 12:08 AM

MySQL과 Mariadb의 주요 차이점은 성능, 기능 및 라이센스입니다. 1. MySQL은 Oracle에 의해 개발되었으며 Mariadb는 포크입니다. 2. MariaDB는 높은 하중 환경에서 더 나은 성능을 발휘할 수 있습니다. 3. Mariadb는 더 많은 스토리지 엔진과 기능을 제공합니다. 4.MySQL은 듀얼 라이센스를 채택하고 MariaDB는 완전히 오픈 소스입니다. 선택할 때 기존 인프라, 성능 요구 사항, 기능 요구 사항 및 라이센스 비용을 고려해야합니다.

MySQL은 Oracle과 어떻게 다릅니 까? MySQL은 Oracle과 어떻게 다릅니 까? Apr 22, 2025 pm 05:57 PM

MySQL은 빠른 개발 및 중소형 응용 프로그램에 적합한 반면 Oracle은 대기업 및 고 가용성 요구에 적합합니다. 1) MySQL은 오픈 소스이며 사용하기 쉬우 며 웹 응용 프로그램 및 중소 기업에 적합합니다. 2) Oracle은 강력하고 대기업 및 정부 기관에 적합합니다. 3) MySQL은 다양한 스토리지 엔진을 지원하며 Oracle은 풍부한 엔터프라이즈 수준의 기능을 제공합니다.

Centos : 보안, 안정성 및 성능 Centos : 보안, 안정성 및 성능 Apr 21, 2025 am 12:11 AM

Centos는 우수한 보안, 안정성 및 성능을위한 서버 및 엔터프라이즈 환경을위한 첫 번째 선택입니다. 1) Security는 SELINUX를 통해 강제 액세스 제어를 제공하여 시스템 보안을 개선합니다. 2) 안정성은 시스템의 안정성을 보장하기 위해 최대 10 년 동안 LTS 버전에 의해 지원됩니다. 3) 성능은 커널 및 시스템 구성을 최적화하여 시스템 응답 속도 및 리소스 활용을 크게 향상시킵니다.

Linux : 기본 부분에 대한 깊은 다이빙 Linux : 기본 부분에 대한 깊은 다이빙 Apr 21, 2025 am 12:03 AM

Linux의 핵심 구성 요소에는 커널, 파일 시스템, 쉘, 사용자 및 커널 공간, 장치 드라이버 및 성능 최적화 및 모범 사례가 포함됩니다. 1) 커널은 하드웨어, 메모리 및 프로세스를 관리하는 시스템의 핵심입니다. 2) 파일 시스템은 데이터를 구성하고 Ext4, BTRF 및 XFS와 같은 여러 유형을 지원합니다. 3) Shell은 사용자가 시스템과 상호 작용하고 스크립팅을 지원하는 명령 센터입니다. 4) 시스템 안정성을 보장하기 위해 사용자 공간을 커널 공간과 별도로 분리하십시오. 5) 장치 드라이버는 하드웨어를 운영 체제에 연결합니다. 6) 성능 최적화에는 튜닝 시스템 구성 및 다음 모범 사례가 포함됩니다.

See all articles