本文目录一览:
- 1、php在监听端口的时候怎么可以不指定ip
- 2、PHP监听端口,获取数据并写入文件
- 3、求助,php端口持续监听socket-CSDN论坛
- 4、如何配置php服务器
- 5、php网站搭建端口问题
- 6、php 如何监听服务器端口
php在监听端口的时候怎么可以不指定ip
有两种,一种是创建一个php进程,while true永远执行,sleep 1,没一秒监听一次第二种,用linux的定时任务,每一分钟执行php监听第一种方案的缺点,玩意php出现错误,进程被终止
PHP监听端口,获取数据并写入文件
参考思路如下:
1、在监听的时候把监听到的内容存储起来,数据库/文件/缓存都行。
2、在浏览器能访问的脚本中把内容显示出来就行了;
3、或者直接用websocket来监听,接受到数据直接写在页面上。
求助,php端口持续监听socket-CSDN论坛
你用 socket 扩展写一个服务端程序就可以了
由于不知道你们的通讯协议,也没法给具体代码
socket_create 创建一个 socket
socket_bind 绑定 ip 和 端口
socket_listen 建立监听
循环中
socket_accept 接受一个 socket
socket_read 读
socket_write 写
答题不易,互相理解,您的采纳是我前进的动力,感谢您。希望回答对你有帮助,如果有疑问,在后盾人上有详解
如何配置php服务器
一、Apache安装
版本解释:openssl是表示带有openssl模块,利用openssl就可以给Apache配置SSL安全链接的,也就是使用https://方式进行访问。
nossl则表示不带OpenSSL模块,无 法用于SSL安全链接,在这里我们下载带OpenSSL的。
选择版本:apache_2.2.14-win32-x86-openssl-0.9.8k.msi
下载地址:
首先我们在D盘(盘符根据实际情况自己选择)新建一个目录,
并且命名为“WAMP”其意义为“Wdindows Apache Mysql PhpMyAdmin” 之后安装的一些内容,也都将安装在该目录下。
1.安装说明:
运行apache安装程序,方法非常简单,弹安装界面后一直“next”
接着会出现一个界面,需要填写3个内容,分别为:Network Domain、Server Name、Administrator’s Email Address 随便填写就好,不影响内容。
在下面还有2个选项,默认选择为80端口,第二个为8080端口,根据个人需求选择,一般为默认80端口。
我们继续安装,选择Custom(自定义安装)-“next”
其中有打着红X的组件,我们单击这个组件容,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。-“next”
然后选择右下角的“change ”改变安装路径,安装到刚才建立的目录中“D:\WAMP\Apache\”-“next”
安装完毕后,电脑右下角会多出一个图标,双击打开,选择start或restart,能正常运行,至此安装完毕。
2.修改配置:
打开安装录下D:\WAMP\Apache\conf\httpd.conf 文件(修改配置文件时,不建议使用记事本,可能会对其造成影响,推荐使用Notepad++或其他编辑软件打开修改)
打开以后Ctrl+F查找所要修改的内容
在#LoadModule vhost_alias_module modules/mod_vhost_alias.so下添加:
LoadModule php5_module “D:/WAMP/PHP/php5apache2_2.dll”
PHPIniDir “D:/WAMP/PHP”
AddType application/x-httpd-php .php
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
DocumentRoot “E:/WAMP/Apache/htdocs”
修改成(这里的路径和IIS中wwwroot目录一样,用于存放网页,自定义或不做修改默认):DocumentRoot “D:/WAMP/www”
修改成(自定义或不做修改默认):
DirectoryIndex index.html
修改成:DirectoryIndex index.php default.php index.html index.htm default.html default.htm
3.测试
在D:/WAMP/www目录下 建立个index.html页面
在浏览器中输入
如果能正常显示,Apache配置完毕,已经正常运行。
二、MySql安装
版本解释:The Essentials Package:不包含 embedded server and benchmark suite,有自动安装程序和配置向导,没有MySQL Documentation。
The Complete Package:包含 embedded server and benchmark suite,有自动安装程序和配置向导,有MySQL Documentation。
The Noinstall Archive:包含 embedded server and benchmark suite,没有自动安装程序和配置向导,有MySQL Documentation。
选择版本:mysql-essential-5.1.44-win32.msi
下载地址:
1.安装说明:
打开安装程序,单击“next”
选择custom,组件为默认选择,我们不做改动-“next”
路径设置为“D:\WAMP\Mysql”-“next”
安装好以后点击“finish”
跟着会出现一个配置向导-“next”
选择“Detailed Configuration(详细配置)”-“next”
这里有3个选项:
Developer Machine,将只用尽量少的内存;
Server Machine,将使用中等数量内存;
Dedicated MySQL Server Machine,这台服务器上面只跑mysql数据库,将占用全部的内存。
可以根据自己需求选择,这里我们选择第二种“Server Machine”-“next”
选择数据库用途,同样有3个选项:
Mutltifunctional Database多功能用途,将把数据库优化成很好的innodb存储类型和高效率的myisam存储类型;
Transactional Database Only只用于事务处理类型,最好的优化innodb,但同时也支持myisam;
Non-Transactional Databse Only非事务处理类型,适合于简单的应用,只有不支持事务的myisam类型是被支持的。
一般选择第一种多功能的,同样我们也是。-“next”
选择InnodDB的数据存放位置,一般默认就行,为了统一我填写了“WAMP/MySQL Datafiles”-“next”
选择mysql允许的最大连接数,第一种是最大20个连接并发数,第二种是最大500个并发连接数,最后一种是自定义,自己可以根据需求选择,我选择第二个-“next”
下面是选择数据库监听的端口,一般默认是3306,如果改成其他端口,以后连接数据库的时候都要记住修改的端口,否则不能连接mysql数据库,比较麻烦,这里不做修改,用mysq的默认端口:3306-“next”
这一步设置mysql的默认编码,我们选择第三个,并在Character Set菜单中,选择“gbk”编码-“next”
(注:如果要用原来数据库的数据,最好能确定原来数据库用的是什么编码,如果这里设置的编码和原来数据库数据的编码不一致,在使用的时候可能会出现乱码。)
这一步是是否要把mysql设置成windows的,一般选择设成服务,这样以后就可以通过服务中启动和关闭mysql数据库。下面的复选框也勾选上,这样,在cmd模式下,不必非到mysql的bin目录下执行命令。也就是把上下2个勾都打上,中间默认-“next”
这一步是设置mysql的超级用户密码,这个超级用户非常重要,对mysql拥有全部的权限,请设置好并牢记超级用户的密码,下面有个复选框是选择是否允许远程机器用root用户连接到你的mysql服务器上面,如果有这个需求,也请勾选。这里我们使用默认选择,在New root password和Confirm中输入密码。“next”
点击“execute”进行配置,稍微等待一会,圆点上的勾全部打上,就代表配置完毕。
2.修改配置:
打开D:\WAMP\MySQL\my.ini
设置datadir为D:/WAMP/MySQL/data/或你所要存放数据位置的目录即可。
三、PHP安装
版本解释:VC9 专门为IIS定值的脚本,使用Visual Studio 2008编译器编译,支持最新的微软组建,从而提高效率。
VC6 是为了其他WEB服务软件提供的脚本 如 Apache。
Thread Safe 现成安全,之星时会进行线程 安全检查,以防止有心要求就启动新线程(Thread)的CGI执行方式而耗尽系统资源。
Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查
选择版本:PHP5.3(5.3.1)中VC6 x86 Thread Safe下 ZIP下载
下载地址:
1.安装说明
由于我们下载的的是ZIP压缩包,只需要将文件解压到“D:\WAMP\PHP”目录下即可
2.修改配置
将E:\WAMP\PHP\php.ini-development 文件修改成php.ini
打开php.ini
; extension_dir = “ext”
修改成:extension_dir = “E:\WAMP\PHP\ext”
将947行下,这些文件前面的“;”去除
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_xmlrpc.dll
;date.timezone =
修改成(很多网站没提到这里要修改,默认为美国时间,如果不修改会报错):date.timezone = Asia/Shanghai
3.测试
重启Apache(修改过配置文件 必须重启Apache才会生效)
新建个index.php 页面,代码中输入,保存文件放到“D:\WMAP\www\”目录下
打开浏览器输入: 如果能正常显示,说明PHP配置完毕,可以查看该页面的PHP信息是否正确。
(注:在改文件中输入函数可输出大量的有关PHP当前状态的信息,如PHP版本,服务器信息和环境等。)
(注:)
接着我们测试下,是否能连接到Mysql
再新建个link.php,下代码中输入
$link=mysql_connect(“127.0.0.1″,”root”,”Mysql安装时填写的密码”);
if(!$link) echo “Mysql数据库连接失败!”;
else echo “Mysql数据库连接成功!”;
mysql_close();
?
也保存文件放到“D:\WMAP\www\”目录下
打开浏览器输入: 查看
四、PhpMyAdmin安装
版本解释:phpMyAdmin-3.2.5
选择版本:phpMyAdmin-3.2.5-all-languages.zip
下载地址:
1.安装说明
解压到D:\WAMP\phpMyAdmin
2.修改配置
打开D:\WAMP\phpMyAdmin\libraries\config.default.php
$cfg['PmaAbsoluteUri'] = ”;
修改成(填写访问phpMyAdmin的绝对URL):$cfg['PmaAbsoluteUri'] = ‘’;
$cfg['Servers'][$i]['host'] = ‘localhost’;
修改成(填写服务器地址,通常默认,不需要修改):$cfg['Servers'][$i]['host'] = ‘localhost’;
$cfg['Servers'][$i]['user'] = ‘root’;
修改成(填写Mysql用户名,这里我们默认):$cfg['Servers'][$i]['user'] = ‘root’;
$cfg['Servers'][$i]['password'] = ”;
修改成(填写Mysql密码):$cfg['Servers'][$i]['password'] = ‘Mysql PWD;
$cfg['Servers'][$i]['auth_type'] = ‘cookie’;
修改成(设置认证方法,安全因素考虑,填写成cookie):$cfg['Servers'][$i]['auth_type'] = ‘cookie’;
$cfg['blowfish_secret'] = ”;
修改成(设置短语密码,如果上面设置成cookie,那这里不能留空,不然登陆会提示错误):$cfg['blowfish_secret'] = ‘cookie’;
3.测试
打开浏览器输入: 访问和登陆
php网站搭建端口问题
打开iis管理器,设置对应网站的访问端口既可。这里端口不仅限于80,只要没被占用都可以设置,但是默认访问的端口是80
php 如何监听服务器端口
?php
//设置运行时间:永不超时
set_time_limit (0);
//开启缓冲
ob_implicit_flush ();
//IP地址
$ip = "127.0.0.1";
//监听端口
$port = 80;
//创建socket
$socket = socket_create (AF_INET, SOCK_STREAM, 0);
if (!$socket){
die("创建socket失败!").socket_strerror(socket_last_error());
}
//绑定socket
$bind = socket_bind ($socket, $ip, $port);
if (!$bind){
die("绑定.socket失败!").socket_strerror ($bind);
}
//监听socket
$listen = socket_listen ($socket);
if (!$listen){
die("监听失败!").socket_strerror ($listen);
}
echo "{$port}端口监听成功!";
?