當前位置:首頁 » 編程語言 » php調用c介面

php調用c介面

發布時間: 2022-06-09 09:26:11

php curl調用介面,在介面里寫cookie發現沒有寫入

寫cookie是瀏覽器做的事情,使用curl得到的數據只是數據,而不會執行
運行curl後你可以在結果的header中找到set-cookie頭,但是php並不會將這個頭回傳給瀏覽器
你可以使用正則匹配$ccc中的header(需要開啟CURLOPT_HEADER),然後將需要設置的cookie輸出或保存到資料庫中以便程序以後可以直接以登錄過的身份再次訪問test.com

Ⅱ thinkphp5.0怎麼調用c

  • ThinkPHP函數詳解:C方法

C方法是ThinkPHP用於設置、獲取,以及保存配置參數的方法,使用頻率較高。

了解C方法需要首先了解下ThinkPHP的配置,因為C方法的所有操作都是圍繞配置相關的。

  • ThinkPHP的配置文件採用PHP數組格式定義。

由於採用了函數重載設計,所以用法較多,我們來一一說明下。

  • 設置參數

C('DB_NAME','thinkphp');

表示設置DB_NAME配置參數的值為thinkphp,由於配置參數不區分大小寫,所以下面的寫法也是一樣:

C('db_name','thinkphp');

但是建議保持統一大寫的配置定義規范。

項目的所有參數在未生效之前都可以通過該方法動態改變配置,最後設置的值會覆蓋前面設置或者慣例配置裡面的定義,也可以使用參數配置方法添加新的配置。

支持二級配置參數的設置,例如:

C('USER.USER_ID',8);

配置參數不建議超過二級。

如果要設置多個參數,可以使用批量設置,例如:

$config['user_id'] = 1;

$config['user_type'] = 1;

C($config);

如果C方法的第一個參數傳入數組,就表示批量賦值,上面的賦值相當於:

C('USER_ID',1);

C('USER_TYPE',1);

  • 獲取參數

要獲取設置的參數,可以用:

$userId = C('USER_ID');

$userType = C('USER_TYPE');

如果USER_ID參數尚未定義過,則返回NULL。

也可以支持獲取二級配置參數,例如:

$userId = C('USER.USER_ID');

如果傳入的配置參數為空,表示獲取全部的參數:

$config = C();

  • 保存設置

3.1版本增加了一個永久保存設置參數的功能,僅針對批量賦值的情況,例如:

$config['user_id'] = 1;

$config['user_type'] = 1;

C($config,'name');

在批量設置了config參數後,會連同當前所有的配置參數保存到緩存文件(或者其他配置的緩存方式)。

保存之後,如果要取回保存的參數,可以用

$config = C('','name');

其中name就是前面保存參數時用的緩存的標識,必須一致才能正確取回保存的參數。取回的參數會和當前的配置參數合並,無需手動合並。

Ⅲ 如何用php實現通過web執行c/c++程序

<?php
system(『cmd.exe』);
/*執行所有的可執行程序均可具體可以看php手冊,還有好多可以執行shell的,
*一般的網站空間是不允許執行shell的,許可權有限制,不過本地搭建的都不是什麼問題。
*忘採納!
*/

Ⅳ php語言可執行c語言

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

Ⅳ php能夠調用C或C++寫的.dll文件嗎 - PHP進階討論

可以我寫過一個調用SAP BO的COM,要調用必須先安裝好COM組件的,在注冊表查出組件名字(如果你不清楚組件名字的話)我把我寫過的函數給你看看
/**
* 載入COM組件
*/
private function createCompanyObject() {
$company = false;
try {
$company = new COM("SapBobsCom.Company");//這樣就可以獲取COM組件了
} catch(Exception $e) {
$this->errorMsg = $e->getMessage();
}
return $company;
}

Ⅵ C++的標准動態庫為什麼不能被PHP調用

php調用C/C++動態鏈接庫
一、簡介
一般而言,php速度已經比較快,但是,對於一些較高級開發者而言,如果想要追求更快的速度,那毫無疑問可以通過自己寫c代碼,並編譯為動態鏈接庫(常為.so文件),然後php通過創建一個新的擴展(extension),並在擴展里調用該.so文件,同時對外暴露出php函數介面。
在實際使用中,只要調用該函數介面,即可使用底層更快速的c函數服務。

二、起因
之所以本人要研究這么個問題,主要是近來項目中需要調用一個自己開發的圖像處理的動態鏈接庫,希望伺服器能夠對客戶端提供該圖像處理服務。而我們伺服器開發語言選擇了php,所以著手此問題。

三、實現方法
廢話不多說,為了實現php調用c庫,我在網上搜了個遍也沒找到幾篇好文章,只有兩篇還不錯的,分享在本文最末,有興趣的讀者可以去閱讀。
下面,本文的開發環境背景是CentOS release 6.5 。為了能夠調用c庫,我們的php 5.6.9,apache 2.4均是下載源碼並編譯的,不可直接通過yum安裝!請注意。至於php和apache的源碼編譯本文不提,只要注意在configure打開合適開關即可。

具體步驟如下:
將共享庫.so添加入系統配置中(假設共享庫名為 'libhello.so')
cp libhello.so /usr/local/lib
echo /usr/local/lib > /etc/ld.so.conf.d/local.conf
/sbin/ldconfig
在php/ext目錄下創建擴展頭文件,取名為myfunctions.def
在該文件里填寫c函數聲明即可。每個函數一行。
string hello(int a)
int hello_add(int a, int b)
使用ext_skel搭建擴展骨架
./ext_skel --extname=myfunctions --proto=myfunctions.def
打開config.m4 中的enable開關
PHP_ARG_ENABLE(myfunctions, whether to enable myfunctions support,
[ --enable-myfunctions Include myfunctions support])
上面把擴展骨架建立好了,下面重新配置php (下面是我個人配置文件,讀者需要結合自己情況修改)
./buildconf --force //生成新配置腳本
'./configure' '--prefix=/usr/local/php' '--with-libdir=lib64' '--enable-fpm' '--with-fpm-user=php-fpm' '--with-fpm-group=www--enable-mysqlnd' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--enable-opcache' '--enable-pcntl' '--enable-mbstring' '--enable-soap' '--enable-zip' '--enable-calendar' '--enable-bcmath' '--enable-exif' '--enable-ftp' '--enable-intl' '--with-openssl' '--with-zlib' '--with-curl' '--with-gd' '--with-zlib-dir=/usr/lib' '--with-png-dir=/usr/lib' '--with-jpeg-dir=/usr/lib' '--with-gettext' '--with-mhash' '--with-ldap' '--disable-fileinfo' '--with-config-file-path=/usr/local/php/etc' '--with-apxs2=/usr/local/httpd/bin/apxs' '--enable-myfunctions' // 配置
記住!一定在末尾加上 —enable-myfunctions 。這樣子才會被編譯進php中。
當擴展編譯進去了之後,就可以開始修改擴展里的myfunctions.c文件,在裡面可以添加php->c的轉接函數,在轉接函數里可以調用.so內的函數。
比如要添加一個hello_add的php函數,裡面可以調用c函數add(int a, int b)
a. 添加函數聲明
PHP_FE(hello_add, NULL)
b. 添加php函數
PHP_FUNCTION(hello_add){ ... }
注意,在該函數里,如果調用了.so文件里的介面函數,那麼待會在make的時候,要指定所使用的.so共享庫,該共享庫必須完成第1步中添加到系統配置的操作。
如果調用了.so文件,那麼要在php/Makefile中添加
Extra_LDFLAG = -lhello //對應前面的libhello.so
Extra_libs = -lhello
(make clean)
每次修改完上面的c文件,都要重新make
make
make install
重啟apache伺服器
httpd -k restart
在phpinfo里可以看到新擴展,可以直接在php調用新擴展內的函數。

Ⅶ 在PHP中如何調用C/C++寫的程序

可以將c編譯成可執行文件,然後通過exec函數調用它

linux php如何連接私有資料庫(非mysql等常用資料庫)需要做那些工作,那個資料庫提供了c介面

php 自帶了很多的資料庫介面擴展庫。你可以去官方網站看看都支持什麼,反正是特別多了。
對應的載入擴展後,php 代碼裡面用對應的函數調用就可以了。

Ⅸ php的函數能夠用C語言調用嗎

C語言程序需要對中文郵件解碼,想用PHP裡面的兩個解碼函數base64_decode()與quoted_printable_decode(),前者可用於base64 編碼的解碼,後者是用於 QP 編碼方法的解碼。

Ⅹ php怎麼調用c語言程序

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

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

熱點內容
安卓怎麼查看iculd照片 發布:2024-05-06 05:18:24 瀏覽:89
shell腳本減法 發布:2024-05-06 05:18:22 瀏覽:351
中文解壓縮文件 發布:2024-05-06 05:13:24 瀏覽:196
android簡訊刪除 發布:2024-05-06 04:58:42 瀏覽:260
安卓手機236開發者選項在哪裡 發布:2024-05-06 04:11:13 瀏覽:260
sql過濾條件 發布:2024-05-06 04:05:18 瀏覽:563
ifconfiglinux 發布:2024-05-06 03:47:59 瀏覽:533
c語言開發集成環境 發布:2024-05-06 03:47:06 瀏覽:607
腳本uzi比賽視頻 發布:2024-05-06 03:46:19 瀏覽:824
php給文本框賦值 發布:2024-05-06 03:21:24 瀏覽:26