當前位置:首頁 » 編程語言 » phpopen

phpopen

發布時間: 2024-04-08 03:46:45

php 如何編程 得知fsockopen函數是否被禁用

利用函數function_exists();
可以查看是否存在某一個函數,
bool function_exists ( string $function_name
);
其得出的結果是BOOL值,

如果為1或者是TRUE,代表開啟了;
如果為0或者FALSE,代表關閉了。

Ⅱ php開啟fsockopen函數

1.方法一:

第一步:

php.ini文件中查找

allow_url_fopen = On

使其值為On

第二步:

php.ini文件中查找

extension=php_openssl.dll

如果前面有分號,去掉分號

第三步:

重啟web伺服器,apache或IIS

2.還有一種情況,也就是方法二:

1. vi php.ini

找到 allow_url_fopen 這個參數設置成 On,即

allow_url_fopen = On

2. 讓你的php支持 opensll擴展。

默認,是沒有openssl擴展的,只能重新編譯安裝。

yum install openssl openssl-devel

cd /usr/local/src/php-5.2.14/ext/openssl

/usr/local/php/bin/phpize

./configure –with-openssl –with-php-config=/usr/local/bin/php-config

make && make install

看提示,把編譯成的openssl.so 拷貝到你在php.ini 中指定的 extension_dir 下

3. vi php.ini

加入

extension=openssl.so

4. 重啟web server

Ⅲ php使用fsockopen建立長連接接收數據的疑問

你這個代碼邏輯是錯誤的,且不說什麼長連接,但看你
$len = fwrite( $fp, $out ); 發送一段信息出去,那麼這個$len就一定有效,那麼
while($len){
//這里如果不在特定的情況重置$len的話,這個while就是個死循環!
}
拋開這個邏輯錯誤,你的本意是發送一個信息,服務端有返回數據就接收,這樣的代碼邏輯能實現你的想法么?你看看,你發送了一次,就依你發送的為標准讓整個邏輯進入了死循環的讀取過程,這還是服務端有響應數據便接收么?分明是你有發送數據便無限接收。
你還是梳理一下思路再寫。

熱點內容
redis永久緩存 發布:2024-11-28 12:37:40 瀏覽:55
php是自學網 發布:2024-11-28 12:33:57 瀏覽:732
php採集系統 發布:2024-11-28 12:32:04 瀏覽:907
資料庫恢復的實現技術 發布:2024-11-28 12:25:26 瀏覽:5
壓縮圖檔 發布:2024-11-28 12:25:23 瀏覽:423
自定義緩存 發布:2024-11-28 12:25:07 瀏覽:235
怎麼進電腦的伺服器 發布:2024-11-28 12:23:57 瀏覽:830
伺服器2s1u是什麼意思 發布:2024-11-28 12:22:54 瀏覽:511
伺服器怎麼當做掛機寶 發布:2024-11-28 12:16:49 瀏覽:45
ga演算法nn 發布:2024-11-28 12:12:17 瀏覽:50