當前位置:首頁 » 編程語言 » php如何調用c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

php如何調用c語言

發布時間: 2022-04-28 18:21:04

① 如何在php代碼中嵌套c程序

不能原碼嵌套進去的,PHP是解釋執行的,C需要編譯。

一般需要把C編譯為EXE或者DLL程序文件,PHP才可以調用。

② php語言可執行c語言

不能啊,PHP 跟C有各自運行的伺服器,雖然說PHP是建立在C的基礎上的,但是兩者不可能相通的,不過可能會有高手知道,

③ php怎樣和c語言混合編程

php是一個腳本語言,如果需要系統調用,需要用C語言編寫一個擴展來實現,另外C是靜態編譯的,執行效率比PHP代碼高很多。同樣的運算代碼,使用C來開發,性能會比PHP要提升數百倍。編寫好的php擴展要在編譯php源碼時加進去。

④ 誰知道PHP如何調用C語言的嗎

這是兩個完全不一樣的程序語言。是不能相互調用的。
但是php的代碼(如:循環)有很多是和c語言的代碼想通的,只要懂C語言或者是其他的編程語言。那麼學習PHP是很容易上手的。
希望對你有幫助。

⑤ PHP怎麼與C語言通信

/*server.c*/
#include <string.h>
#include <stdio.h>
#include <netinet/in.h>
#include <stdlib.h>

#define SERV_PORT 8000

int main()
{
int sockfd,n,servaddr_len,client_len,connfd;
char * server_ip = "127.0.0.1";
char buf[80];
struct sockaddr_in server,client;

sockfd = socket (AF_INET,SOCK_STREAM,0);

bzero(&server,sizeof(server));
server.sin_family = AF_INET;
server.sin_addr.s_addr = inet_addr(server_ip);
server.sin_port = htons(SERV_PORT);

servaddr_len = sizeof(server);
client_len=sizeof(client);
bind(sockfd,(struct sockaddr *) &server,servaddr_len);
listen(sockfd,6);
while(1)
{
bzero(buf,sizeof(buf));
printf("等待讀取數據.......\n");
connfd=accept(sockfd,(struct sockaddr *)&client,&client_len);
n = read(connfd,buf,sizeof(buf));
write(connfd,buf,n);
printf("讀取的數據為:%s\n",buf);

}
close(sockfd);
return 0;
}

<?php
$server_ip="127.0.0.1";
$port = 8000;
if($_POST['submit'])
{
$buf=trim($_POST['buf']);
$sockfd=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)or die("創建失敗");
socket_connect($sockfd,$server_ip,$port)or die("連接錯誤");
socket_write($sockfd,$buf,strlen($buf))or die("寫入錯誤");

$a=socket_read($sockfd,80);
echo $a;
$buf="";
socket_close($sockfd);
}
?>
<form action="tcpclient.php" method="post">
請選則發送方式:<br><input type=text name="buf">
<input type=submit name="submit" value="發送">
</form>

tcp方式不能通信解決方法

執行:getsebool -a |grep http

查看httpd_can_network_connect --> off 是否為打開狀態

執行:setsebool httpd_can_network_connect on 把httpd_can_network_connect設置為打開狀態
tcp方式不能通信解決方法

執行:getsebool -a |grep http

查看httpd_can_network_connect --> off 是否為打開狀態

執行:setsebool httpd_can_network_connect on 把httpd_can_network_connect設置為打開狀態

⑥ 不安裝C語言壞境能用PHP嗎

1、PHP是伺服器腳本語言,必須要運行在能夠解析PHP的伺服器上2、C語言是低級語言,PHP是高級語言3、C語言是強類型語言,PHP是弱類型語言,這一點從2者語法的差別可以看出4、PHP主要用來做web應用,C語言主要用來做計算機底層的應用,另外C語言功能比PHP強大很多,你應該知道PHP就是用C語言寫的

⑦ 求解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程序是少不了的。

⑧ php調用c c語言操作文件

是不是得system("./a.out")啊?

那就可能是a.out文件的執行許可權的問題了,chmod 777 a.out 或者chgrp 等命令試試

⑨ php怎麼調用c語言程序

目前是不支持擴展c語言的。

希望我的回答可以幫到你,有什麼不懂可以追問。

⑩ 怎樣在php文件里添加c語言

php里添加不了C語言,如果你的伺服器是自行開發的CGI的話有可能行,但是php。exe里添加C的編譯功能。C里摻入php還可以。