php日常收集

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

IIS+php 不支持mysql的一个问题以及解决
 
 
win2003/iis/php/mysql的问题
弄了一段时间,发现居然不支持mysql,翻了一下,发现漏了一步: "将libmysql.dll复制到windows目录"
 
第一步 解开php压缩包 你可以把它放在C:\PHP下面
第二步 把 C:\PHP下面的 php.ini-dist文件复制到C:WINDOWS目录下并改名成php.ini
修改C:\windows\php.ini 文件
查找 extension_dir 字串 修改为你 PHP 目录里 extensions的路径:
; Directory in which the loadable extensions (modules) reside
                  extension_dir = "C:\PHP\ext”
       查找一下下面这几个扩展,将前面的分号去掉(php5.1.6默认不支持mysql,修改之)
                   extension=php_mysql.dll
                   extension=php_mbstring.dll
                   extension=php_gd2.dll
将libmysql.dll复制到windows目录
第三步 把 C:\php\php5ts.dll 复制到C:\windows\system32目录下
第四步 修改iis6.0参数,使其启动时加载php5.1.6
控制面版——》管理工具——》Internet服务管理器——》点选“Web服务扩展”——》在右边窗口点击“添加一个新的Web 服务扩展”——》扩展名为“PHP”——》再点击“添加”——》在出现的窗口里填上“C:\PHP\php5isapi.dll”并确定 然后再点选Web 服务扩展 PHP并选择允许

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

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

在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动、停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍。
1、启动:

C:\server\nginx-1.0.2>start nginx

或

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

注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。

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

当配置信息修改,需要重新载入这些配置时使用此命令。

4、重新打开日志文件:

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

5、查看Nginx版本:

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

nginx: nginx version: nginx/1.0.2


或

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

nginx: nginx version: nginx/1.0.2 
nginx: TLS SNI support enabled 
nginx: configure arguments: --builddir=objs.msvc8 --crossbuild=win32 --with-debug --prefix= --conf-path=conf/nginx.conf --pid-path=logs/nginx.pid --http-log-path=logs/access.log --error-log-path=logs/error.log --sbin-path=nginx.exe --http-client-body-temp-path=temp/client_body_temp --http-proxy-temp-path=temp/proxy_temp --http-fastcgi-temp-path=temp/fastcgi_temp --with-cc-opt=-DFD_SETSIZE=1024 --with-pcre=objs.msvc8/lib/pcre-7.9 --with-zlib=objs.msvc8/lib/zlib-1.2.3 --with-select_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_stub_status_module --with-http_flv_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-mail --with-ipv6 --with-openssl=objs.msvc8/lib/openssl-0.9.8r --with-openssl-opt=enable-tlsext --with-http_ssl_module --with-mail_ssl_module


注:v只是简单显示版本信息,V不但显示版本信息,还显示配置参数信息。

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

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

nginx: the configuration file C:\server\nginx-1.0.2/conf/default.conf syntax isok
nginx: configuration file C:\server\nginx-1.0.2/conf/default.conf test is successful

载入指定配置文件

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

Windows下nginx定时分割日志

Windows下nginx定时分割日志 http://www.cnblogs.com/allanhboy/archive/2011/11/10/2244461.html

nginx的日志文件对于想要做ip/pv统计的朋友来说,是非常重要的。以前从来没有在windows下使用过nginx,最近这两天因为业务的需要,在windows环境下使用了nginx做服务器集群,在使用过程中,发现在nginx for windows依旧不支持根据时间分割日志,在linux环境下,一般都过shell脚本来实现这个功能。在网上找一了一下windows下分割nginx日志的方案,居然没有找到合适的,于是自己写了一个简单的批处理以实现这个小功能,现在把代码放到下面,以方便以后朋友们使用。
默认日志源文件路径为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

保存后把这个批处理文件放到nginx根目录下,在windows下添加一个任务计划,每天执行一次即可.该批处理一共做了三件事,先杀掉系统中正在运行的nginx进程,然后备份并根据时间重命名日志文件,最后再启动nginx服务。
经过测试,在windows下面必须在nginx服务停止的情况下才能备份日志,这个有点小小的遗憾,不过一般情况下这个备份过程会在1到2秒内完成,把这个批处理放到每天凌晨两点左右执行,基本不影响nginx提供服务。

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

    最近在PHP官网上看到又有新版的PHP下载了,于是上去找找For Windows的版本,可是一看确傻眼了,一共给了四个版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,这让我这个菜鸟头疼啊,还好PHP官网提供下载的地方左边有个英文choose我看懂了,我估摸着就是如何来选择版本的意思吧,于是开始查字典及上网查找,终于看明白了具体意思,拿来做个备忘先。
一、如何选择PHP5.3的VC9版本和VC6版本
    VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。
    VC9版本是使用Visual Studio 2008编译器编译的,如果你的PHP是用IIS来架设的,那你就选择VC9版本。
二、如何选择PHP5.3的Thread Safe和Non Thread Safe版本
    先从字面意思上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。
    再来看PHP的两种执行方式:ISAPI和FastCGI。
    ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本;
    而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。
    官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。

php调试

安装XDebug:

Eclipse PDT并不直接提供调试器,你需要选择Zend Debugger或者XDebug,可惜Zend Debugger依赖于一个收费的产品,所以我们选择使用完全免费的XDebug。
把你的下载到的XDebug Windows Module (比如php_xdebug-2.0.3-5.2.5.dll)放到PHP的extension目录(比如C:\php5\ext)中去。
用文本编辑器打开PHP的配置文件php.ini(这个东东的路径可以在Apache中配置,不过通常放到C:\Windows目录下面),在文件最后添加下面的内容:
[XDebug]
; Modify the filename below to reflect the .dll version of your xdebug
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  ; if debugging on remote server,
                             ; put client IP here
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后面的路径。
如果你安装了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 =
重启你的Apache使PHP的新配置生效。编写一个调用phpinfo()的简单页面,你应该在输出的页面中能够看到XDebug相关的信息

 

 

 

你可能感兴趣的:(php日常收集)