❶ 针对php的window优化
PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS系统下)或MY.CNF(UNIX或linux系统下)文件的[mysqld]下加入skip-name-resolve这一句。连接mysql速度慢的解决方法.
2台服务器,一台跑iis+php,一台跑mysql,和以往一样配置好环境,测试页面一切OK
跑应用的时候发现php访问mysql速度很慢,这种情况在以前从未发现过,虽然2台服务器并非在同一网段中,但是ping数值基本上都在1,2ms之间,tcp连接应该不是问题关健,google以后找到答案,在my.ini文件的[mysqld]部分加入:skip-name-resolve,保存文件,重启mysql,一切OK啦,速度象飞一样了
新版本的mysql配置起来不象以前的那个傻瓜化了,这个问题折腾了我一上午的时间,晚上回来总算是解决了,嘿嘿,又学到一些东西。
Windows 2003下的MySQL 5服务器,本机连接到MySQL服务非常快,局域网内有两台Linux机器,有一台连接很快,另外一台输入密码后要等好几秒钟才能连上。
解决办法:
在MySQL服务器的配置中增加一个如下配置后速度飞快。
[mysqld]
skip-name-resolve
附录:( How MySQL uses DNS )
When a new thread connects to mysqld, mysqld will spawn a new thread to handle the request. This thread will first check if the hostname is in the hostname cache. If not the thread will call gethostbyaddr_r() and gethostbyname_r() to resolve the hostname.
If the operating system doesn't support the above thread-safe calls, the thread will lock a mutex and call gethostbyaddr() and gethostbyname() instead. Note that in this case no other thread can resolve other hostnames that is not in the hostname cache until the first thread is ready.
You can disable DNS host lookup by starting mysqld with --skip-name-resolve. In this case you can however only use IP names in the MySQL privilege tables.
If you have a very slow DNS and many hosts, you can get more performance by either disabling DNS lookop with --skip-name-resolve or by increasing the HOST_CACHE_SIZE define (default: 128) and recompile mysqld.
You can disable the hostname cache with --skip-host-cache. You can clear the hostname cache with FLUSH HOSTS or mysqladmin flush-hosts.
If you don't want to allow connections over TCP/IP, you can do this by starting mysqld with --skip-networking.
PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入skip-name-resolve这一句。
MYSQL远程连接速度慢的解决方法2007年11月17日 11:21
在局域网内连接其他机器的MYSQL,发现速度慢的很,不知道什么原因,总有几秒的延迟.
后来在网上发现解决方法,my.ini里面添加
[mysqld]
skip-name-resolve
skip-grant-tables
这样速度就快了!
skip-name-resolve
选项就能禁用DNS解析,连接速度会快很多。不过,这样的话就不能在MySQL的授权表中使用主机名了而只能用ip格式。
若使用–skip-grant-tables系统将对任何用户的访问不做任何访问控制,但可以用 mysqladmin flush-privileges或mysqladmin reload来开启访问控制;默认情况是show databases语句对所有用户开放,
如果mysql服务器没有开远程帐户,就在my.ini里面加上skip-grant-tables
❷ windows下php程序怎么运行
一,首先到PHP官网下载php(目前php有3个stable分支版本7.1、7.0、5.6,如果有项目需求就下载需求版本,如果是个人学习,建议下载最新版),根据32位/64位系统下载ZIP包即可,不需要Debug包,(下面我要说的是Nginx+PHP的方式,推荐使用Non Thread Safe版本):http://windows.php.net/download
二、到Nginx官网下载Nginx(个人学习建议Mainline版本,项目开发建议Stable版本),注意选择windows的包!:https://nginx.org/en/download.html
三、下载完上面的两个包后解压即可(建议放到不经常移动的地方)。
四、用纯文本编辑器打开Nginx里面conf文件夹里面的nginx.conf文件,进行如下编辑即可:
worker_processesauto;
events{
worker_connections1024;
}
http{
includemime.types;
default_typeapplication/octet-stream;
#access_log\.\nul;#关闭访问日志
sendfileon;
tcp_nopushon;
tcp_nodelayon;
keepalive_timeout65;
types_hash_max_size2048;
ssl_protocolsTLSv1.2TLSv1.1TLSv1;
ssl_prefer_server_cipherson;
gzipon;
server{
listen80default_server;
listen[::]:80default_server;
server_name_;
roothtml;#这里指定为你网站的根目录,比如C:html,默认是相对于Nginx目录下
indexindex.phpindex.html;
charsetutf-8;
location/{
try_files$uri$uri/=404;
}
location~.php${
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.cpp;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
try_files$fastcgi_script_name=404;
}
}
}
五、根据需要可以编辑php.ini。
六、创建快捷方式以便于启动php和Nginx:
桌面上右键-》新建-》快捷方式,位置选择到php文件夹下的php-cgi.exe文件,并加上参数:-b 127.0.0.1:9000。(比如PHP文件夹在C:php,位置就是"C:phpphp-cgi.exe -b 127.0.0.1:9000"),下一步名字随意,完成。
桌面上再右键-》新建-》快捷方式,位置选择到Nginx文件夹下的nginx.exe即可。可以没有参数。
再创建一个停止Nginx的快捷方式(PHP要停止直接在php的窗口按Ctrl+C即可):桌面上右键-》新建-》快捷方式,位置选择到Nginx文件夹下的nginx.exe,并加上参数:-s quit。(比如Nginx文件夹在C:Nginx,位置就是"C:Nginx ginx.exe -s quit")。
七、分别双击上面创建的两个快捷方式,启动php和Nginx(php会一直有一个黑框,不要关,Nginx是黑框一闪而过,任务管理器里可以看到多个Nginx进程)。
八、在上面配置文件里设置的网站根目录里创建一个php文件,内容为:
<?php
phpinfo();
九、打开浏览器访问“127.0.0.1”或者“[::1]”,如果正常显示PHP信息界面了就表示环境搭建成功了。
十、要关闭的话,php在那个黑框框按Ctrl+C即可,然后运行刚刚创建的那个Nginx退出的快捷方式即可关闭Nginx。
纯手打,望采纳!
❸ Windows系统怎样配置PHP环境
Windows配置PHP环境的方法:
工具原料
win7系统电脑 浏览器
1、打开浏览器,在搜索栏键入并搜索需要的软件“PHPnow”,找到并下载之后,解压到电脑磁盘的根目录。
❹ windows系统下怎样开启php的 php
在程序开发过程中,我们可能有很多情况下需要自动的执行某一段代码从而使程序自动更新某模块的状态等,下面说明了如何使系统自动执行php代码的方法。
1.打开控制面板-》任务计划
2.双击添加任务计划点击“浏览”,找到php解释器所在的位置,并选择php.exe给自己添加的任务起一个名字,随便选一个选项,点击下一步输入系统用户名和密码,一般用户名是默认输入好的输入完成后点击下一步,弹出完成提示框,勾选复选框打开任务高级设置对话框,编辑“运行”栏,在后面加上你要运行的php文件,设置运行时间即可。
❺ windows下如何实现在命令行下运行PHP文件
window下,假设php安装目录为c:\program files\php5\,那么使用命令窗口进入到该路径下,敲入php hello.php回车,则会执行当前路径下的hello.php文件,如果要指向其他路径下php文件,可以在php 路径/hello.php ,这种形式称为CLI模式,我们平时通过浏览器看到的那种称为CGI模式,至于传递参数,php文件在cli模式下,直接通过在文件名称后面接参数,多个参数中间用空格隔开,在php文件里面是通过两个变量来获取参数的,一个是$argv,一个是$argc,前者是传递参数的数组,默认第一个为php文件的名称;后者为$argv的数组个数。
linux下,一般程序安装都会安装在/usr/bin/php下面,可以通过man php查看一下,如果有信息说明可以使用,使用方法类似于window下。如果前面这步成立,那么你可以直接 php php文件 来运行php文件,如果man php没有信息,则说明当前php执行文件没有在环境路径里面,可以修改环境路径包含php路径,也可以类似于window进入php路径,在执行 php php文件。其他类似于window下。
❻ php在window是php.exe在linux是什么啊
不同发行版可能位置不同.
如果php5, 用 which php 可知位置; php7用 which php7;
包管理器查看. debian系可用类似 dpkg -L php5
用locate命令搜索
❼ windows系统支持php吗
win支持php,你可以用dw等软件编辑php代码。然后放到win虚拟服务器就可以运行。常见的有xammp 还有wamp.服务器上市需要配置环境,php才可以运行的。
下面的简单的附上PHP的运行环境:
(1) 下载后得到 php-5.1.2-Win32.zip ,解压至C:\php(这个路径可以随意,不过下面要是用到这个路径,请相应修改);
(2)再将 C:\php\libmysql.dll 和 C:\Inetpub\php\ext\php_mysql.dll 复制到 C:\Windows\system32 下;
(3)将C:\PHP\php.ini-dist 复制到C:\Windows ( Windows 2000 下为 C:\WINNT)并将改名为php.ini,然后用记事本打开,利用记事本的查找功能搜索: extension_dir = "C:\PHP\ext" 将其路径指到你的 PHP 目录下的 extensions 目录,比如:extension_dir = "C:\Inetpub\php\ext" ;
搜索;Windows Extensions并仅打开需要的模块以节省内存(去掉每个模块前的;号即可): extension=php_gd2.dll GD库支持,如果不打开该模块则Discuz!论坛图片水印不能使用。 extension=php_mbstring.dll 为了支持phpMyAdmin,打开mbstring。 extension=php_mysql.dll 不用说了吧,支持MySQL。 首先必须确定系统中已经正确安装 IIS ,如果没有安装,需要先安装 IIS。
PHP 与IIS整合时支持 CGI 和 ISAPI 两种模式,推荐使用 ISAPI 模式。这里只解介绍 ISAPI 模式安装方法:ISAPI 模式安装步骤: 在“控制面板”的“管理工具”中选择“Internet 服务管理器”,打开 IIS 后停止服务,然后在左侧“你需要支持PHP的Web站点上单击右键选择“属性”,在打开的“ Web 站点属性”窗口的“ISAPI 筛选器”标签里找到并点击“添加”按钮,在弹出的“筛选器属性”窗口中的“筛选器名称”栏中输入:PHP ,再将可执行文件指向 php5isapi.dll 所在路径,如:C:\PHP\php5isapi.dll 。 打开“Web 站点属性”窗口的“主目录”标签,找到并点击“配置”按钮,在弹出的“应用程序配置”窗口中找到并点击“添加”按钮,在弹出的窗口中新增一个扩展名映射,扩展名为 .php ,单击“浏览”将可执行文件指向 php5isapi.dll 所在路径,如:C:\PHP\php5isapi.dll,然后一路确定即可。 确定Web 目录的应用程序设置和执行许可中选择为纯脚本,然后关闭 Internet 信息服务管理器,在命令提示符中执行如下命令: net stop w3svc net stop iisadmin net start w3svc 然后在“Internet 服务管理器”左边的“WEB服务扩展”中设置ISAPI 扩展允许,Active Server Pages 允许
❽ window php.ini在哪
在php目录里,实在不会找就Ctrl+F 搜索php.ini
前提是要你已经安装了PHP
❾ window下如何安装配置php
在XP的IIS下安装 PHP 简单方法
安装前的准备(我这里用PHP4):
PHP4.0以上的版本。只需以下三个文件就可以了:
php4isapi.dll,php4ts.dll,php.ini-dist
把php4isapi.dll,php4ts.dll 这两个文件COPY到XP的 SYSTME32目录下去
把php.ini-dist改文件名为php.ini,再COPY到XP的windows目录下。
1.在XP“控制面板”的“管理工具”中打开“Internet 信息服务”。
2.选择“默认网站”,按鼠标右键。选择“属性”。
3.选择“ISAPI筛选器”,添加一个属性。
筛选器名称填: php
可执行文件:选择php4isapi.dll这个文件
填好后按“确定”
4.选择“主目录”,按“配置”。
5.添加一个应用程序扩展名影射。
可执行文件选择 php4isapi.dll
扩展名输入 .php。(注意前面那个点了)。
按“确定”
6.重启你的IIS。看看你的网站属性的ISAPI筛选器上 PHP 状态是不是和下图一样呢?
如果是,那就恭喜你,你的PHP安装成功了。如果你的PHP箭头是红色而且向下,那就重新来吧。
7.写个程序测试一下吧。
<?
phpinfo();
?>
第一步: 解压文件
把下载php434.zip文件解压到c:盘,并且把php-4.3.4-win32(这是默认文件夹名)改成php4(*必须改成php4因为配置文件都是用c:\php4配置的)。
把我做的这个快速安装文件(phpsetup.rar)解压到任何地方都可以!(因为这个文件不影响以后程序的运行)。
第二步: 复制文件
这点很简单,如果你是win2000就直接运行"windows-setup.bat"就可以了!winxp的朋友直接运行"winxp-setup.bat"就可以了!php.ini和php4ts.dll会自动复制到指定位置。
呵呵……大家可以免去了配置php.ini的麻烦!(按照一起PHP的方法配置的)。
第三步 和IIS建立关联
打开“管理工具”里面的"Internet 信息服务"(XP系统需要从控制面板-〉管理工具-找到),总之就是打开IIS管理器,找到“默认站点”-〉右键“属性”,选择“主目录”标签,点击下面的“配置”按钮,进入“应用程序配置”窗口,选择“映射”标签,点击“添加”按钮。“可执行文件”的后面填写上“c:\php4\sapi\php4isapi.dll”在“扩展名”里填写上“php”然后“确定”!
第四步 重启IIS(多种方法任选其一)
方法1:你可以在“运行”下直接运行
net stop iisadmin (关闭IIS)
net start w3svc (启动IIS)
方法2:我已经为大家做好了1个批处理文件了!“重启-IIS.bat”直接双击然后输入“Y”就重启IIS完成了!
其他的方法就不说了,还有最简单的就是重新启动电脑(呵呵……笨是笨不过很有效啊!)总之重启IIS就可以了!
第五步 测试是否安装成功
最后别忘了在“文档”栏里“默认文档”前打勾,点“添加”在“默认文档名”下面写上“index.php”把它放在最上面!把我做好的这个"index.php"放在“主目录”的下面!
打开IE在地址栏了输入"http://127.0.0.1"呵呵……这时候如果您看到了输出的php版本信息和配置信息的页面,那么恭喜您,您成功了!!!看看你用了多长时间,是不是5分钟以里!
❿ windows下php怎么重启apache
<?php
//windows ,希望不是破坏的目的.
$bat_filename = dirname(__FILE__). DIRECTORY_SEPARATOR.'cmd.bat';
$apache_service_name = "Apache2.2"; //Apache 服务名,你的可能不一样
$bat_content= sprintf('
net stop %s
net start %s
',$apache_service_name , $apache_service_name);
if(!function_exists("file_put_contents")){
function file_put_contents($filename,$content){
$fp = fopen($filename,"wb");
$return = fwrite($fp , $content);
fclose($fp);
return $return;
}
}
file_put_contents($bat_filename , $bat_content);
exec($bat_filename);