php环境怎么关闭,curl怎么强制关闭?
(PHP 4 >= 4.0.2, PHP 5)
curl_close — 关闭一个cURL会话
说明
void curl_close ( resource $ch )
关闭一个cURL会话并且释放所有资源。cURL句柄ch 也会被释放。
参数
ch由 curl_init() 返回的 cURL 句柄。
返回值
没有返回值。
范例
Example #1 初始化一个cURL会话来获取一个网页
<?php
// 创建一个新cURL资源
$ch = curl_init();
// 设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
// 抓取URL并把它传递给浏览器
curl_exec($ch);
// 关闭cURL资源,并且释放系统资源
curl_close($ch);
?>
WEB专用服务器的安全设置的实战技巧?
删除默认建立的站点的虚拟目录,停止默认web站点,删除对应的文件目录c:inetpub,配置所有站点的公共设置,设置好相关的连接数限制,带宽设置以及性能设置等其他设置。配置应用程序映射,删除所有不必要的应用程序扩展,只保留asp,php,cgi,pl,aspx应用程序扩展。对于php和cgi,推荐使用isapi方式解析,用exe解析对安全和性能有所影响。用户程序调试设置发送文本错误信息给户。对于数据库,尽量采用mdb后缀,不需要更改为asp,可在IIS中设置一个mdb的扩展映射,将这个映射使用一个无关的dll文件如C:WINNTsystem32inetsrvssinc.dll来防止数据库被下载。设置IIS的日志保存目录,调整日志记录信息。设置为发送文本错误信息。修改403错误页面,将其转向到其他页,可防止一些扫描器的探测。另外为隐藏系统信息,防止telnet到80端口所泄露的系统版本信息可修改IIS的banner信息,可以使用winhex手工修改或者使用相关软件如banneredit修改。 对于用户站点所在的目录,在此说明一下,用户的FTP根目录下对应三个文件佳,wwwroot,database,logfiles,分别存放站点文件,数据库备份和该站点的日志。如果一旦发生入侵事件可对该用户站点所在目录设置具体的权限,图片所在的目录只给予列目录的权限,程序所在目录如果不需要生成文件(如生成html的程序)不给予写入权限。因为是虚拟主机平常对脚本安全没办法做到细致入微的地步,更多的只能在方法用户从脚本提升权限: ASP的安全设置: 设置过权限和服务之后,防范asp木马还需要做以下工作,在cmd窗口运行以下命令: regsvr32/u C:WINNTSystem32wshom.ocx del C:WINNTSystem32wshom.ocx regsvr32/u C:WINNTsystem32Shell32.dll del C:WINNTsystem32shell32.dll 即可将WScript.Shell, Shell.application, WScript.Network组件卸载,可有效防止asp木马通过wscript或shell.application执行命令以及使用木马查看一些系统敏感信息。另法:可取消以上文件的users用户的权限,重新启动IIS即可生效。但不推荐该方法。 另外,对于FSO由于用户程序需要使用,服务器上可以不注销掉该组件,这里只提一下FSO的防范,但并不需要在自动开通空间的虚拟商服务器上使用,只适合于手工开通的站点。可以针对需要FSO和不需要FSO的站点设置两个组,对于需要FSO的用户组给予c:winntsystem32scrrun.dll文件的执行权限,不需要的不给权限。重新启动服务器即可生效。 对于这样的设置结合上面的权限设置,你会发现海阳木马已经在这里失去了作用! PHP的安全设置: 默认安装的php需要有以下几个注意的问题: C:winntphp.ini只给予users读权限即可。在php.ini里需要做如下设置: Safe_mode=on register_globals = Off allow_url_fopen = Off display_errors = Off magic_quotes_gpc = On [默认是on,但需检查一遍] open_basedir =web目录 disable_functions =passthru,exec,shell_exec,system,phpinfo,get_cfg_var,popen,chmod 默认设置com.allow_dcom = true修改为false[修改前要取消掉前面的;] MySQL安全设置: 如果服务器上启用mysql数据库,MySQL数据库需要注意的安全设置为: 删除mysql中的所有默认用户,只保留本地root帐户,为root用户加上一个复杂的密码。赋予普通用户updatedeletealertcreatedrop权限的时候,并限定到特定的数据库,尤其要避免普通客户拥有对mysql数据库操作的权限。检查mysql.user表,取消不必要用户的shutdown_priv,relo ad_priv,process_priv和File_priv权限,这些权限可能泄漏更多的服务器信息包括非mysql的其它信息出去。可以为mysql设置一个启动用户,该用户只对mysql目录有权限。设置安装目录的data数据库的权限(此目录存放了mysql数据库的数据信息)。对于mysql安装目录给users加上读取、列目录和执行权限。 Serv-u安全问题: 安装程序尽量采用最新版本,避免采用默认安装目录,设置好serv-u目录所在的权限,设置一个复杂的管理员密码。修改serv-u的banner信息,设置被动模式端口范围(4001—4003)在本地服务器中设置中做好相关安全设置:包括检查匿名密码,禁用反超时调度,拦截“FTP bounce”攻击和FXP,对于在30秒内连接超过3次的用户拦截10分钟。域中的设置为:要求复杂密码,目录只使用小写字母,高级中设置取消允许使用MDTM命令更改文件的日期。 更改serv-u的启动用户:在系统中新建一个用户,设置一个复杂点的密码,不属于任何组。将servu的安装目录给予该用户完全控制权限。建立一个FTP根目录,需要给予这个用户该目录完全控制权限,因为所有的ftp用户上传,删除,更改文件都是继承了该用户的权限,否则无法操作文件。另外需要给该目录以上的上级目录给该用户的读取权限,否则会在连接的时候出现530 Not logged in, home directory does not exist.比如在测试的时候ftp根目录为d:soft,必须给d盘该用户的读取权限,为了安全取消d盘其他文件夹的继承权限。而一般的使用默认的system启动就没有这些问题,因为system一般都拥有这些权限的
服务器linux环境运行php?
以centos7为例,模式为lnmp。(使用root用户登录)
更新阿里云yum源1、进入源目录
# cd /etc/
yum.repos.d/
2、备份原repo文件
# for name in `ls`; do mv $name ${name}.bak ; done
3、下载阿里云yum源
# curl
http://mirrors.aliyun.com/repo/Centos-7.repo > Centos-7.repo
4、清理并生成缓存并安装epel
nginx安装1、安装pcre,可以支持rewrite功能。
# yum install pcre*
2、安装openssl,可以支持ssl功能
# yum install openssl*
3、从官网下载稳定版,此时是1.16.1,然后解压(如果没有wget ,请执行yum install wget)
# cd /usr/local/src
# wget http://nginx.org/download/nginx-1.16.1.tar.gz
# tar -zxvf nginx-
1.16.1.tar.gz
# cd nginx-1.16.1
4、安装软件三板斧(./configure , make , make install)。
# ./configure --prefix=/usr/local/nginx-1.16.1 --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre
# make
# make install
5、centos7防火墙打开http, https
# firewall-cmd --zone=public --add-service=http --permanent
# firewall-cmd --zone=public --add-service=https --permanent
# firewall-cmd --reload
6、启动nginx
# /usr/local/nginx-1.16.1/sbin/nginx
当通过你系统的IP地址访问出现如下画面,则安装成功
关闭nginx:
# /usr/local/nginx-1.16.1/sbin/nginx -s stop
当改变了nginx.conf后,要重置:
# /usr/local/nginx-1.16.1/sbin/nginx -s reload
安装php和php-fpm1、安装php7,这里选择php70w,需更新webtatic源
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# yum install php70w
2、安装php扩展,这里以xml扩展示例,你也可以使用yum list php70w*查看所有扩展。
#yum install php70w-xml
3、查看安装结果
#php -v (查看版本)
#php -m (查看扩展)
4、安装php-fpm,(这个与nginx一起使用来解析PHP脚本的)
#yum install php70w-fpm
5、启动php-fpm,并加入开机启动
# systemctl start php-fpm
# systemctl enable php-fpm
6、新建www用户
# useradd www -s /sbin/nologin
7、修改nginx.conf,加入php解析
第2行
第45行
第65-71行改成如下图所示:
8、将html目录所有者改为www,并将权限改为755
# chown -Rf www:www /usr/local/nginx-1.16.1/html
# chmod -Rf 755 /usr/local/nginx-1.16.1/html
9、重启nginx看到如下结果,即配置成功
# /usr/local/nginx-1.16.1/sbin/nginx -s reload
PHP的运行环境难配置吗?
PHP的运行环境不难配置!下面是个案例:
PHP开发环境配置(Windows版)
Apache+MySQL+PHP+phpMyAdmin
系统:Windows XP
Step1:下载以下文件
(1)php-5.2.0-Win32.zip
pecl-5.2.0-Win32.zip
(2)apache_2.2.3-win32-x86-no_ssl.msi
(3)mysql-5.1.12-beta-win32.zip
(4)phpMyAdmin-2.9.1.1-all-languages.zip
Step2:安装PHP, 配置php.ini
有两种方法在 Windows下安装PHP:手工安装或者使用安装程序安装。自动安装的安装程序php-5.2.0-win32-installer.msi不包含任何外部的PHP扩展(PHP_*.dll)。如果需要,可以在 Windows ZIP 包和 PECL 中找到。据PHP官方手册上称安装 PHP 最好的选择是手工安装。在手工安装中安装 PHP 最好的方式便是将所有 PHP 有关的文件都放入同一目录,并在系统的 PATH 环境变量中设置此目录。本例为手工安装.
1. 将下载的php-5.2.0-Win32.zip解压到C:\PHP\ 这个目录.
2. 再将C:\PHP\ 目录下的*.dll和 C:\PHP\ext目录下的所有文件文件复制粘贴到C:\windows\system32\下.
如果需要更多扩展,就将pecl-5.2.0-Win32.zip中的文件也放到C:\windows\system32\下.
3. 配置php.ini。
在ZIP 包中有两个ini文件,php.ini-dist和php.ini-recommended。建议使用 php.ini-recommended,因为在该文件中优化了性能和安全。复制所选择的 ini 文件到 PHP 能找到的目录中,并将其重命名为 php.ini 。
再用记事本打开 php.ini ,查找register_globals = Off,把off改成On.
再查找short_open_tag = Off,把off改成On有一处.
再查找extension_dir = "./" 改为 extension_dir = "C:\PHP\ext"
然后再查找;extension=php_mbstring.dll,把前面的分号去掉.
extension=php_mbstring.dll(不选这个phpMyAdmin会错)
以下几个dll作相同更改.
extension=php_dba.dll
extension=php_dbase.dll
extension=php_filepro.dll 可选
extension=php_gd2.dll 支持GD库的,一般要选
extension=php_imap.dll 可选
extension=php_ldap.dll
extension=php_mysql.dll 支持MySQL的
接下来修改了一些文件上传以及内存使用最大限制:
memory_limit = 20M ;内存容量
post_max_size = 20M ;闪存容量
upload_max_filesize = 20M ; 附件容量
asp_tags = On ;可选,On允许ASP风格的标记,Off禁止
4. 将 PHP 目录添加到 PATH 环境变量中
系统环境变量path=C:\php
5. 使 php.ini 文件在 Windows下被 PHP 所用
系统环境变量PHPRC=C:\php
Step3: 安装Apache,配置 httpd.conf 使之支持PHP
1.安装apache_2.2.3-win32-x86-no_ssl.msi,一路按Next即可.
安装完成后输入[url]http://localhost[/url] 查看Apache是否安装成功.
(如果安装了IIS请关闭,或者请改变安装端口,不然无法启动Apache服务)
2. 打开文件C:\Apache2\conf\httpd.conf,查找以下设置项.
即注册文件后缀.
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Satisfy all
AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps
</Directory>
绿色为我们新增的设置.
3.查找LoadModule模块
LoadModule php5_module "C:/ php/php5apache2_2.dll"
注意斜杠方向与Windows中路径”\”相反.
4.查找以下,并增加index.php
根据需要还可以增加其它自定义首页如index.htm
<IfModule dir_module>
DirectoryIndex index.html index.html.var index.php
</IfModule>
5. 查找 Documentroot "C:/Apache2/htdocs" 将其改为你的WEB路径; (这里是WEB主目录,可以不修改)
6.重启apache.
7. 在web根目录 C:\Apache2\htdocs\ 下新建index.php,内容如下:
<?php
phpinfo();
?>
在浏览器中输入URL: [url]http://localhost/index.php[/url] 测试结果.
如果不能正常运行,请检查配置.
Step4: 安装MySQL
MySQL安装过程
注意:安装中,一定要正确配置MySQL Server
安装完成后,新建conn.php
<?php
$link=mysql_connect('localhost','root','root');
if(!$link) echo "MySQL 数据库连接失败";
else echo "MySQL 数据库连接成功!";
mysql_close();
?>
运行该文件,测试数据库连接.
Step5:安装phpMyAdmin配置config.inc.php
phpMyAdmin并不是必需的,只是为了方便管理MySQL数据库,本身是用PHP编写而成.但是有了它,会大方便MySQL数据库管理.
1. 解压phpMyAdmin-2.9.1.1-all-languages.zip到C:\phpMyAdmin
2. 将C:\phpMyAdmin\config.sample.inc.php重命名为config.inc.php
3. 对照原文件进行如下更改,绿色为新增的.
$cfg['blowfish_secret'] = 'root';
$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = 'root';
4. 将C:\phpMyAdmin\下所有文件和目录复制到
C:\Apache\htdocs\phpMyAdmin,
在浏览器中输入[url]http://localhost/phpMyAdmin/index.php[/url]进行测试
phpstorm如何关闭debug?
1、找到debug,然后右键点击clear一步步的clear或者clearall
2、如果用的是Tomcat6,点击myeclipse的preference,再点Myeclipse选项,进入Server选择Tomcat6,展开选项卡,点Launch将debug模式转变为run模式
3、点击debug左边那个,然后选择myeclipse java enterprise.