php命名管道,PHP是啥管道

本文目录一览:

pHP链接数据库报错Warning: mssql_connect() [function.mssql-connect]: message: 用户 ‘NT AUTHORITY\IU

之前我刚遇到过这类问题。

使用php链接mssql出错,但是代码没有问题,本机测试正常,上传到服务器又不行。

如果是这种情况,请参照下面的步骤。

1、运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议 Protocols

,允许命名管道 “named pipes” 和 “tcp/ip” ,右键点击 “tcp/ip”,打开属性 Properties 标签 “IP addresses” ,在 TCP 动态端口 “TCP Dynamic Ports” 填入 1433 (其实只要填0就表示开启了动态端口)

2、下载正确版本的 ntwdblib.dll (2000.80.194.0),地址: ,覆盖 php\ntwdblib.dll (mssql2005,mssql2008等等对应的ntwdblib.dll文件版本不同,请参照自己的mssql版本下载对应文件。)

3、php.ini有个mssql的设置 mssql.secure_connection 改成 off。(我就因为这个弄了好久,ON的意思是使用安全连接,实际上是使用nt账户登录,并非使用mssql账户登录。一般我们远程连接都是使用mssql账户登录)

请教PHP里使用命名管道连接本机mysql如何写连接串

要使用管道方式必须满足以下条件:

1.MySql数据库为mysqld-nt, mysqld-max-nt.

2.Windows NT以上平台(Windows NT、2000、XP、2003….)

3.My.ini配置的修改以支持管道(要有下面给出的配置):

[client]

protocol = pipe

socket = mysql

[mysqld]

enable-named-pipe

socket = mysql

重启MySql数据库

用个客户端连接数据库(HostName/IP要填”.”(英文的句号),以说明用管道方式连接),以测试是否管道

连接可以成功.

好了.连接成功.现在进入编程.其实和平常的MySql编译的一样的.HostName/IP填”.”(英文的句号),就

代表使用管道方式了:

mysql_real_connect(hMySql, “.”, m_szUser, m_szPasswd, m_szDBName, m_uPort, NULL,

m_uFlag);

block 块设备文件,如某个磁盘分区、软驱、光驱CD-ROM等

char 字符设备是指在I/O传输过程中以字符为单位进行传输的设备,例如键盘,打印机等

dir 目录类型

fifo 命名管道,常用于将信息从一个进程传输到另一个进程

file 普通文件类型,如文本文件或可执行文件等

link 符号链接,是指向文件指针的指针,类似Windows中的快捷方式

unknown 未知类型

求解php和c语言的进程间通信能兼容吗

PHP是比较流行的脚本语言,WEB开发使用广泛,如何在C++程序中不依赖任何WEB

SERVER调用PHP,并取得执行结果完成交互。

PHP安装好后,在目录下有一个php-cgi.exe,我们只要执行这个CGI程序,并将数据通过命名管道传递给它,然后把执行结果通过命名管道读取出来即可,过程并不复杂!请看如下代码:

命名管道的创建:

SECURITY_ATTRIBUTES

sa

=

{sizeof(SECURITY_ATTRIBUTES)};

sa.bInheritHandle

=

1;

sa.lpSecurityDescriptor

=

NULL;

HANDLE

hStdoutR,

hStdoutW,

hStdinR,

hStdinW;

CreatePipe(hStdoutR,

hStdoutW,

sa,

0);

SetHandleInformation(hStdoutR,HANDLE_FLAG_INHERIT,

0);

CreatePipe(hStdinR,

hStdinW,

sa,

0);

SetHandleInformation(hStdinW,

HANDLE_FLAG_INHERIT,

0);

启动php-cgi进程:

STARTUPINFO

si

=

{sizeof(STARTUPINFO)};

PROCESS_INFORMATION

pi;

si.dwFlags

=

STARTF_USESTDHANDLES;

si.hStdOutput

=

hStdoutW;

si.hStdInput

=

hStdinR;

char

env[255]

=

“REQUEST_METHOD=POST\0CONTENT_LENGTH=18\0CONTENT_TYPE=

application/x-www-form-urlencoded\0SCRIPT_FILENAME=D:\\test.php”;

if(!CreateProcess(NULL,

“d:\\php5\\php-cgi.exe

D:\\test.php”,

NULL,

NULL,

1,

NORMAL_PRIORITY_CLASS,

env,

NULL,

si,

pi))

return

0;

CloseHandle(hStdoutW);

CloseHandle(hStdinR);

传递数据:if(!WriteFile(hStdinW,

“var=Hello

VCKBASE!”,

18,

dwWritten,

NULL))

return

0;

CloseHandle(hStdinW);

读取返回数据:char

buf[1000]

=

{0};

DWORD

dwRead

=

0;

while(ReadFile(hStdoutR,

buf,

sizeof(buf),

dwRead,

NULL)

dwRead

!=

0){

printf(buf);

}

CloseHandle(hStdoutR);

D盘的test.php

?

echo

$_REQUEST[“var”];

?

执行结果:

X-Powered-By:

PHP/5.3.1

Content-type:

text/html

Hello

VCKBASE!

实际上,C++调用其他CGI程序,例如PERL,方法也大同小异,如果你打算做一个自己的WEB服务器,调用CGI程序是少不了的。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/251841.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-13 17:32
下一篇 2024-12-13 17:33

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27
  • PHP与Python的比较

    本文将会对PHP与Python进行比较和对比分析,包括语法特性、优缺点等方面。帮助读者更好地理解和使用这两种语言。 一、语法特性 PHP语法特性: <?php // 简单的P…

    编程 2025-04-27
  • PHP版本管理工具phpenv详解

    在PHP项目开发过程中,我们可能需要用到不同版本的PHP环境来试验不同的功能或避免不同版本的兼容性问题。或者我们需要在同一台服务器上同时运行多个不同版本的PHP语言。但是每次手动安…

    编程 2025-04-24
  • PHP数组去重详解

    一、array_unique函数 array_unique是php中常用的数组去重函数,它基于值来判断元素是否重复,具体使用方法如下: $array = array(‘a’, ‘b…

    编程 2025-04-24
  • PHP导出Excel文件

    一、PHP导出Excel文件列宽调整 当我们使用PHP导出Excel文件时,有时需要调整单元格的列宽。可以使用PHPExcel类库中的setWidth方法来设置单元格的列宽。下面是…

    编程 2025-04-24
  • php扩展库初探

    一、什么是php扩展库? PHP扩展库(PHP extension)是一些用C语言编写的动态链接库,用于扩展PHP的功能。PHP扩展库使得PHP可以与各种数据库系统相连、SMTP、…

    编程 2025-04-23

发表回复

登录后才能评论