찾다
백엔드 개발PHP 튜토리얼felayman-PHP环境搭建

felayman-----PHP环境搭建

PHP是一种服务器端的嵌入式脚本语言,是一种服务器端、跨平台、面向对象、HTML嵌入式的脚本语言。本章将向读者介绍PHP开发环境搭建,常用的配置问题和解决方案。通过本章的学习,读者能够学到以下内容。

 

更换验证码

: Windows——AppserV集成安装包搭建PHP环境

:  Linux——XAMPP集成安装包搭建PHP环境

:  PHP开发环境的关键配置信息

:  解决PHP的常见配置问题

1.1  PHP环境搭建

1.1.1  AppServWindowsPHP集成化安装包

AppServApachePHPMySQLphpMyAdmin等服务器软件和工具安装配置完成后打包处理。开发人员只要到网站上下载该软件,然后安装,即可完成PHP开发环境的快速搭建。非常适合初学者使用。

注意:在使用AppServ搭建PHP开发环境时,必须确保在系统中没有安装ApachePHPMySQL。否则,要先将这些软件卸载,然后应用AppServ

下面讲解AppServ集成化安装包搭建PHP开发环境的具体操作步骤:

1)双击AppServ-win32-2.5.10.exe文件,打开如图1.1所示的AppServ启动页面。


2)单击图1.1中的Next按钮,打开如图1.2所示的AppServ安装协议页面。

3)单击图1.2中的I Agree按钮打开如图1.3所示的页面。设置AppServ的安装路径(默认安装路径一般为:E:\AppServ),AppServ安装完成后ApacheMySQLPHP都将以子目录的形式存储到该目录下。


4)单击图1.3中的Next按钮打开如图1.4所示的页面。选择要安装的程序和组件(默认为全选)。



注意:在图1.4的操作步骤中,如果本机中已经安装MySQL数据库,那么在这里可以不勾选MySQL Database选项,仍使用本机已经存在的MySQL数据库。

5)在图1.4中单击Next按钮,打开如图1.5所示的页面。填写计算机名称,添加邮箱地址,设置Apache的端口号,默认为80端口。


技巧:Apache服务器端口号的设置,直接关系到Apache服务器是否能够正常启动。如果本机中的80端口被IIS或者迅雷占用,那么这里就需要修改Apache的端口号,或者将IIS、迅雷的端口号修改,才能完成Apache服务器的配置。如果出现端口冲突,那么将导致安装失败,Apache服务不能启动。

6)单击图1.5中的Next按钮,打开如图1.6所示的页面。设置MySQL数据库root用户的登录密码及字符集。

技巧:MySQL数据库字符集的设置,可以选择UTF-8GBK或者GB2312。这里将字符集设置为“UTF-8 Unicode”,表示MySQL数据库的字符集将采用UTF8编码。


注意:对于在图1.6中设置的MySQL数据库root用户的密码必须牢记,因为程序在连接数据库时必须使用这个密码。

的程序时,要修改连接数据库的密码。如果忘记安装时设置密码,最直接有效的解决方式是重新安装AppServ

7)单击图1.6中的Install按钮开始安装,如图1.7所示。


8)安装完成后可以在开始菜单的AppServ相关操作列表中启动ApacheMySQL服务,如图1.8所示。


1.2  PHP开发环境的关键配置信息

前面介绍了PHP开发环境的配置方法,除了安装步骤本身之外,PHP与服务器的配置也是十分重要的。下面将主要介绍PHPApache服务器的配置。

1.2.1  Apache服务器的基本配置

Apache服务器的设置文件Linux操作系统中位于/usr/local/apache/conf/(在Windows操作系统中位于“/etc/httpd/conf”)目录下,基本上使用以下3个配置文件来配置Apache服务器的行为。

? access.conf:用于配置服务器的访问权限,控制不同用户和计算机的访问限制

? httpd.conf:用于设置服务器启动的基本环境

? srm.conf:主要用于作文件资源上的设定。

技巧:http.confApache服务器的配置文件,其常用的配置包括:Apache服务器的端口号、服务器的访问路径和伪静态的设置。

ServerName localhost:80

DocumentRoot "/xampp/htdocs"

LoadModule rewrite_module modules/mod_rewrite.so

1.2.2  PHP.INI文件的基本配置

php.ini文件是PHP在启动时自动读取的配置文件。php.ini是一个ASCLL文本文件,分为多个部分,每一部分包括相关的参数。每一部分的名称位于最前面的方括号内,接着是名称对数字,每一名称都独占一行。使用规则PHP代码,对参数名称非常敏感,不能包含有空格,但是参数可以是数字,字符串或者布尔逻辑数。分号位于每一行的开始,其作为指定标记,这就使选择使用或者不使用PHP的这些特性变得很方便,而无需通过删除该行来实现。对某特性进行注释(即,添加分号),则该行将不会被编译执行。每次修改完php.ini文件,必须重新启动Apache服务器,以使新的设置生效。

技巧:php.iniPHP的配置文件,用于加载各种函数库、设置错误级别和设置服务器的时间等等。在Linux操作系统中,php.ini存储于/opt/lampp/etc/php.ini 文件夹下,而在Windwos操作系统中php.ini存储于系统盘的windows文件下。php.ini文件的基本配置如表1.1所示。

1.1                php.ini文件的基本配置

参数

说明

默认值

error_reporting

设置错误处理的级别。推荐值为E_ALL & ~E_NOTICE & ~E_STRICT,显示所有错误信息,除了提醒和编码标准化警告。

E_ALL & ~E_NOTICE & ~E_STRICT

register_globals

通常情况下可以将此变量设置为Off,这样可以对通过表单进行的脚本攻击提供更为安全的防范措施

register_globals = On

include_path

设置PHP的搜索路径,这一参数可以接收系列的目录。当PHP遇到没有路径的文件提示时,它将会自动检测这些目录,需要注意的是,当某些选项允许多个值,应使用系统列表分隔符,在Windows下使用分号“;”,在Linux下使用冒号“:”

; UNIX: "/path1:/path2"

;include_path = ".:/php/includes"

; Windows: "\path1;\path2"

;include_path = ".;c:\php\includes"

extension_dir

指定PHP的动态连接扩展库的目录

“\ext”目录下

extension

指定PHP启动时所加载的动态连接扩展库。PHP的常用扩展库及其说明请参见表1.2

PHP的常用扩展库在初次安装配置后均被注释,需读者手动更改

file_uploads

设置是否允许通过HTTP上传文件

file_uploads=On

upload_tmp_dir

设置通过HTTP上传文件时的临时目录,如果为空,则使用系统的临时目录

upload_tmp_dir =空

upload_max_filesize

设置允许上传文件的大小,如“50M”,必须填写单位

upload_max_filesize=2M

post_max_size

控制在采用POST方法进行一次表单提交中PHP所能够接收的最大容量。要上传更大的文件,则该值必须大于upload_max_filesize的值。

如upload_max_filesize=10M,那么upload_max_filesize的值必须要大于10M

post_max_size = 8M

max_input_time

以秒为单位对通过POSTGET以及PUT方式接收数据时间进行限制

max_input_time = 60

1.2                    PHP常用扩展库及其说明

扩张库

说明

php_ftp.dll

支持FTP函数库,可以实现客户机与服务器之间标准传送协议(FTP

php_gd2.dll

支持图像处理函数库,支持对.gif.jpg.png等多种图像格式

php_imap.dll

支持imap电子邮件处理函数库

php_mssql.dll

支持MsSQL数据库

php_msql.dll

支持mSQL数据库

php_MySQL.dll

支持MySQL数据库

php_oracle.dll

支持Oracle数据库

php_pdf.dll

支持PDF文件处理函数库

php_sockets.dll

支持Sockets处理函数库

php_zlib.dll

支持zlib文件压缩函数库

php_pdo.dll

支持PDO数据库抽象层

php_pdo_mysql.dll

支持MySQL数据库

php_pdo_mssql.dll

支持MS SQL Server数据库

php_pdo_oci8.dll

支持Oracle数据库

php_pdo_odbc.dll

支持ODBC数据库

php_pdo_pgsql.dll

支持PGSQL数据库

1.3  解决PHP的常见配置问题

程序运行出错是许多程序员最为头疼的问题,下面介绍PHP常见的配置问题。通过本节的学习,可以分清哪些错误是由于PHP环境配置不当产生的,从而避免不必要的时间资源浪费,高效的完成Web应用程序的开发。

1.3.1  解决Apache服务器端口冲突

IIS的默认端口号为80,同Apache服务器默认端口号相同。由于采用了相同的端口号80,因此,在运行网页时就会发生冲突。

如果用户机器上安装了IIS,就需要修改IIS的默认端口,否则将导致Apache服务器无法正常工作。更改IIS的默认侦听端口80,可以在IIS的管理器中进行设置,或者停止IIS的服务也可以。

用户也可以在安装Apache服务器时将默认的端口号进行更改,从而解决两个服务器共用一个端口号而产生冲突的问题。

技巧:如果在搭建PHP环境时,将Apache的端口号设置为82,那麽在通过浏览器访问项目时,则应该输入http://127.0.0.1:82/或者http://localhost:82/。

1.3.2  设置PHP的系统当前时间

由于php 5.0date()函数进行了重写,因此,目前的日期时间函数比系统时间少8个小时。在PHP语言中默认设置的是标准的格林威治时间(即采用的是零时区),所以要获取本地当前的时间必须更改PHP语言中的时区设置。方法如下: 

php.ini文件中,找到[date]下的“;date.timezone =”选项,将该项修改为“date.timezone =Asia/Hong_Kong”,然后重新启动Apache服务器。

设置完成后,在输出系统当前的时间就不会出现时差问题。

1.3.3  增加PHP扩展模块

增加PHP扩展模块也称为动态扩展,用来动态加载某个模块,它包含一个指令:extension

Windows操作系统下,加载模块的方法如下。打开php.ini文件,定位到如下位置,去掉;tension=php_java.dll前面的分号,保存后重新启动Apache服务器,即完成扩展模块的加载操作。

;tension=php_java.dll

Linux操作系统下,加载模块的方法如下。

extension=php_java.so

需要说明的是,只加载这一行代码并不一定能启用相关的扩展包,有时还需要确保在操作系统中安装相关的软件。例如:为启用java支持,需要安装JDK

 


성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
절대 세션 타임 아웃의 차이점은 무엇입니까?절대 세션 타임 아웃의 차이점은 무엇입니까?May 03, 2025 am 12:21 AM

절대 세션 시간 초과는 세션 생성시 시작되며, 유휴 세션 시간 초과는 사용자가 작동하지 않아 시작합니다. 절대 세션 타임 아웃은 금융 응용 프로그램과 같은 세션 수명주기의 엄격한 제어가 필요한 시나리오에 적합합니다. 유휴 세션 타임 아웃은 사용자가 소셜 미디어와 같이 오랫동안 세션을 활성화하려는 응용 프로그램에 적합합니다.

세션이 서버에서 작동하지 않으면 어떤 조치를 취 하시겠습니까?세션이 서버에서 작동하지 않으면 어떤 조치를 취 하시겠습니까?May 03, 2025 am 12:19 AM

서버 세션 고장은 다음 단계를 따라 해결할 수 있습니다. 1. 서버 구성을 확인하여 세션이 올바르게 설정되었는지 확인하십시오. 2. 클라이언트 쿠키를 확인하고 브라우저가 지원하는지 확인하고 올바르게 보내십시오. 3. Redis와 같은 세션 스토리지 서비스가 정상적으로 작동하는지 확인하십시오. 4. 올바른 세션 로직을 보장하기 위해 응용 프로그램 코드를 검토하십시오. 이러한 단계를 통해 대화 문제를 효과적으로 진단하고 수리 할 수 ​​있으며 사용자 경험을 향상시킬 수 있습니다.

session_start () 함수의 중요성은 무엇입니까?session_start () 함수의 중요성은 무엇입니까?May 03, 2025 am 12:18 AM

session_start () iscrucialinphpformanagingUsersessions.1) itiniteSanewsessionifnoneexists, 2) ResumesAnxistessions, and3) setSasessionCookieForContInuityAcrosrequests, enablingplicationsirecationSerauthenticationAndpersonalizestContent.

세션 쿠키를 위해 httponly 플래그를 설정하는 것이 중요합니까?세션 쿠키를 위해 httponly 플래그를 설정하는 것이 중요합니까?May 03, 2025 am 12:10 AM

XSS 공격을 효과적으로 방지하고 사용자 세션 정보를 보호 할 수 있기 때문에 httponly 플래그를 설정하는 것은 세션 쿠키에 중요합니다. 구체적으로, 1) httponly 플래그는 JavaScript가 쿠키에 액세스하는 것을 방지합니다. 2) PHP 및 Flask에서 SetCookies 및 Make_response를 통해 깃발을 설정할 수 있습니다. 3) 모든 공격으로부터 방지 할 수는 없지만 전체 보안 정책의 일부가되어야합니다.

웹 개발에서 PHP 세션은 어떤 문제를 해결합니까?웹 개발에서 PHP 세션은 어떤 문제를 해결합니까?May 03, 2025 am 12:02 AM

phpssessionssolvetheproblemofmainingstateacrossmultiplehtttprequestsbystoringdataontheserversociatingititwithauniquessessionid.1) theStoredAserver-side, 일반적으로, 일반적으로 and insessionsecietoretoretrievedata.2) sessionsenhances

PHP 세션에 어떤 데이터를 저장할 수 있습니까?PHP 세션에 어떤 데이터를 저장할 수 있습니까?May 02, 2025 am 12:17 AM

phpsessionscanstorestrings, 숫자, 배열 및 객체 1.Strings : TextDatalikeUsernames.2.numbers : integorfloatsforcounters.3.arrays : listslikeshoppingcarts.4.objects : complexStructuresThatareserialized.

PHP 세션을 어떻게 시작합니까?PHP 세션을 어떻게 시작합니까?May 02, 2025 am 12:16 AM

tostartAphPessession, us

세션 재생이란 무엇이며 보안을 어떻게 개선합니까?세션 재생이란 무엇이며 보안을 어떻게 개선합니까?May 02, 2025 am 12:15 AM

세션 재생은 세션 고정 공격의 경우 사용자가 민감한 작업을 수행 할 때 새 세션 ID를 생성하고 이전 ID를 무효화하는 것을 말합니다. 구현 단계에는 다음이 포함됩니다. 1. 민감한 작업 감지, 2. 새 세션 ID 생성, 3. 오래된 세션 ID 파괴, 4. 사용자 측 세션 정보 업데이트.

See all articles

핫 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 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구