首页 游戏 软件 资讯 排行榜 专题
首页
编程语言
PHP常用代码片段与实用工具资源收集整理

PHP常用代码片段与实用工具资源收集整理

热心网友
44
转载
2026-05-07

IIS+php 不支持mysql的一个问题以及解决

在Windows Server 2003环境下搭建IIS+PHP+MySQL这套经典组合,不少朋友都遇到过一个看似棘手的问题:环境配置好了,PHP也能解析了,但偏偏就是连不上MySQL。折腾了好一阵子,最后发现问题往往出在一个容易被忽略的细节上:忘记将`libmysql.dll`复制到系统目录。下面就来梳理一下完整的配置流程,并重点指出这个关键步骤。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

第一步:解开PHP压缩包

将PHP的压缩包解压,建议放在一个简单的路径下,例如`C:\PHP`。

第二步:配置php.ini文件

首先,把`C:\PHP`目录下的`php.ini-dist`文件复制到`C:\WINDOWS`目录下,并重命名为`php.ini`。

接下来,编辑这个`C:\windows\php.ini`文件,需要修改几个地方:

1. 找到`extension_dir`这一行,将其修改为你的PHP扩展目录的实际路径,例如:

; Directory in which the loadable extensions (modules) reside
extension_dir = "C:\PHP\ext"

2. 找到下面这几个扩展模块,将每一行前面的分号`;`去掉(以PHP 5.1.6为例,默认是不支持MySQL的,所以这一步必须做):

extension=php_mysql.dll
extension=php_mbstring.dll
extension=php_gd2.dll

关键一步来了: 将`C:\PHP`目录下的`libmysql.dll`文件,复制到`C:\WINDOWS`或`C:\WINDOWS\system32`目录下。缺少这一步,PHP将无法正常调用MySQL客户端库。

第三步:复制运行时文件

把`C:\php\php5ts.dll`这个文件复制到`C:\windows\system32`目录下。

第四步:配置IIS 6.0

打开控制面板 -> 管理工具 -> Internet服务管理器(IIS管理器)。在左侧树形目录中,点选“Web服务扩展”。在右侧窗口点击“添加一个新的Web服务扩展”。

在弹出的对话框中: - 扩展名填写“PHP”。 - 点击“添加”按钮,在文件路径处填入`C:\PHP\php5isapi.dll`并确定。 - 最后,在Web服务扩展列表中选中新添加的“PHP”,并点击“允许”按钮。

Windows下Nginx的启动、停止等命令

在Windows环境下使用Nginx,掌握几个基本的命令行操作是必不可少的,比如启动、停止服务,或者重新加载配置。下面就来简单介绍一下这些常用命令。

1、启动:

C:\server\nginx-1.0.2>start nginx

或者

C:\server\nginx-1.0.2>nginx.exe

这里有个小建议:通常使用第一种`start nginx`命令,因为它会在后台启动服务。如果直接运行`nginx.exe`,当前的命令行窗口会一直处于执行状态,无法进行其他操作。

2、停止:

C:\server\nginx-1.0.2>nginx.exe -s stop

或者

C:\server\nginx-1.0.2>nginx.exe -s quit

这两者略有区别:`stop`是快速停止Nginx,可能不会保存相关信息;而`quit`则是完整有序地停止Nginx,并会保存好相关信息。

3、重新载入Nginx:

C:\server\nginx-1.0.2>nginx.exe -s reload

当你修改了Nginx的配置文件(如`nginx.conf`)后,不需要重启服务,使用这个命令就能让新配置生效。

4、重新打开日志文件:

C:\server\nginx-1.0.2>nginx.exe -s reopen

这个命令常用于日志切割后,通知Nginx重新打开日志文件进行写入。

5、查看Nginx版本:

C:\server\nginx-1.0.2>nginx -v

或者

C:\server\nginx-1.0.2>nginx -V

注意,`-v`参数只是简单地显示版本号,而`-V`(大写)则会显示更详细的版本信息以及编译时的配置参数。

6、测试或载入指定配置文件:

在修改配置文件后,正式应用前,最好先测试一下语法是否正确:

C:\server\nginx-1.0.2>nginx.exe -t -c conf/default.conf

如果测试成功,会显示“syntax is ok”和“test is successful”。如果需要使用一个非默认的配置文件来启动Nginx,可以这样:

C:\server\nginx-1.0.2>start nginx.exe -c conf/default.conf

Windows下nginx定时分割日志

Nginx的访问日志对于分析网站流量、进行IP/PV统计来说至关重要。然而,Windows版本的Nginx和Linux版一样,默认并不支持按日期自动分割日志。在Linux下,我们通常借助Shell脚本实现,那么在Windows下该怎么办呢?其实,写一个简单的批处理脚本,再结合系统的任务计划,就能轻松搞定。

假设你的日志源文件路径是`d:\data1\logs\www.log`,希望分割后的日志存放到`D:\data1\logs2\`目录下。

新建一个文本文件,将后缀改为`.bat`,内容如下:

taskkill /F /IM nginx.exe
set "cmdstr=move D:\data1\logs\www.log D:\data1\logs2\access_ydgdw_211.138.195.36_log.%date:~0,4%-%date:~5,2%-%date:~8,2%.log
call %cmdstr%"
start nginx

这个批处理脚本依次做了三件事: 1. 强制结束系统中正在运行的`nginx.exe`进程。 2. 将原日志文件移动到新目录,并按照`access_ydgdw_211.138.195.36_log.年-月-日.log`的格式重命名。 3. 重新启动Nginx服务。

将这个批处理文件保存到Nginx的根目录下。然后,打开Windows的“任务计划程序”,添加一个每天(例如凌晨2点)执行一次此脚本的计划任务即可。

需要说明的是,经过测试,在Windows平台下,必须在Nginx服务停止后才能移动或重命名其日志文件,这算是一个小小的限制。不过好在整个停止-备份-重启的过程非常快,通常只需1到2秒,设置在访问量最低的凌晨执行,对服务的影响微乎其微。

关于PHP--->VC9和VC6以及Thread Safe和Non Thread Safe版本选择的问题

访问PHP官网下载Windows版本时,面对VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe这四个选项,新手难免会感到困惑。别急,弄清楚下面两个维度的区别,你就能做出正确选择。

一、如何选择PHP5.3的VC9版本和VC6版本

这取决于你使用的Web服务器: - VC6版本:是用老牌的Visual Studio 6编译器编译的。如果你的Web服务器是Apache,那么应该选择这个版本。 - VC9版本:是用Visual Studio 2008编译器编译的。如果你的Web服务器是IIS,那么请选择这个版本。

二、如何选择PHP5.3的Thread Safe和Non Thread Safe版本

这取决于PHP的运行方式: - Thread Safe (线程安全):在执行时会进行线程安全检查,以防止在多线程环境(如IIS的ISAPI模式)下因创建过多线程而耗尽系统资源。 - Non Thread Safe (非线程安全):在执行时不进行线程安全检查,通常在单线程模式下运行效率更高。

再看PHP的两种主要执行方式: - ISAPI方式:以DLL动态库形式运行,能被多个请求复用,存在于多线程环境中。因此,如果采用ISAPI方式运行PHP(常见于IIS),务必选择Thread Safe版本。 - FastCGI方式:每个PHP进程以单一线程运行,不存在线程安全问题。因此,如果采用FastCGI方式运行PHP(如Nginx+PHP-FPM,或IIS配置为FastCGI模式),选择Non Thread Safe版本能获得更好的性能。

最后提个醒,PHP官方通常不建议在生产环境中使用Non Thread Safe版本。因此,对于大多数通用场景,尤其是初学者或不明确运行模式时,选择Thread Safe版本是更稳妥的做法。

php调试

安装XDebug

Eclipse PDT本身不提供调试器,需要额外配置。通常有两个选择:Zend Debugger或XDebug。考虑到前者依赖于商业产品,这里我们选择完全免费的XDebug。

安装步骤:

1. 将下载到的XDebug模块文件(例如`php_xdebug-2.0.3-5.2.5.dll`)放入PHP的扩展目录(例如`C:\php5\ext`)。

2. 用文本编辑器打开PHP的配置文件`php.ini`(其路径可在Apache配置中指定,通常位于`C:\Windows`目录下),在文件末尾添加以下配置:

[XDebug]
; 请根据你下载的DLL文件名修改下面的路径
zend_extension_ts="C:/php5/ext/php_xdebug-2.0.3-5.2.5.dll"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1 ; 如果是远程调试,请填写客户端IP
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=0
xdebug.profiler_output_dir="C:/php5/tmp"

请务必根据你的实际安装路径,修改`zend_extension_ts`和`xdebug.profiler_output_dir`两项的值。

3. 重要提示: 如果你之前安装过Zend Optimizer,必须将其相关配置行注释掉(每行前面加上分号`;`),因为Zend Optimizer与XDebug不兼容。注释后的效果类似这样:

[Zend]
; zend_extension_ts = "C:xamppphpzendOptimizerlibZendExtensionManager.dll"
; zend_extension_manager.optimizer_ts = "C:xamppphpzendOptimizerlibOptimizer"
; zend_optimizer.enable_loader = 0
; zend_optimizer.optimization_level=15
;zend_optimizer.license_path =

4. 保存`php.ini`文件,并重启你的Apache服务器,使配置生效。

5. 最后,创建一个简单的PHP页面,内容为``,在浏览器中访问。如果配置成功,你应该能在输出的页面信息中找到XDebug相关的模块信息,这标志着调试环境已经准备就绪。

来源:https://blog.csdn.net/weixin_32864391/article/details/115235713
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

CentOS系统下PHP-FPM进程监控与性能优化指南
编程语言
CentOS系统下PHP-FPM进程监控与性能优化指南

要监控CentOS上的PHP-FPM,您可以使用以下方法 使用命令行工具 对于习惯与终端打交道的运维人员来说,命令行工具是最直接的选择。 top:这是最经典的实时系统监控工具。想快速聚焦PHP-FPM进程?很简单,运行top后,按下u键,再输入运行PHP-FPM的用户名,界面就会立刻筛选出相关进程,

热心网友
05.07
CentOS 系统下 PHP 应用容器化部署指南
编程语言
CentOS 系统下 PHP 应用容器化部署指南

在CentOS上使用Docker容器化部署PHP应用 将PHP应用进行容器化部署,如今已成为提升开发一致性和运维效率的标准操作。在CentOS环境下,借助Docker平台,我们可以快速搭建起一个独立、可移植的运行环境。下面,就让我们一起梳理一下从零开始的基本部署流程。 1 安装Docker 万事开

热心网友
05.07
CentOS系统下PHP并发处理的实现方法与优化
编程语言
CentOS系统下PHP并发处理的实现方法与优化

在CentOS上使用PHP实现并发处理,可以采用以下几种方法: 想让PHP在CentOS上跑得更快、处理更多任务?并发处理是关键。别担心,PHP生态里其实有不少成熟的方案可选,每种都有其独特的适用场景。下面我们就来聊聊几种主流的方法,从多线程到消息队列,帮你找到最适合你项目的那一款。 1 使用多线

热心网友
05.07
CentOS系统下vsFTP服务与其他应用集成配置指南
编程语言
CentOS系统下vsFTP服务与其他应用集成配置指南

在CentOS系统中集成VSFTPD与其他服务 在CentOS服务器环境中,VSFTPD(Very Secure FTP Daemon)因其出色的安全性和稳定性,成为搭建FTP服务的首选。但你是否想过,让这个传统的FTP守护进程与现代的Web服务(比如Apache或Nginx)联动起来?这样一来,用

热心网友
05.07
币安Binance现货交易入门教程 新手如何买卖加密货币
web3.0
币安Binance现货交易入门教程 新手如何买卖加密货币

币安现货交易是加密货币买卖的基础方式,适合新手入门。操作前需完成账户注册、身份验证和资金充值。交易界面主要分为行情、交易对选择和订单簿区域,下单时可选择市价单或限价单。掌握基本的买入卖出操作后,还需了解止盈止损等风险管理工具,并注意资产安全与市场波动性,从小额交易开始实践。

热心网友
05.07