PHP執行C C 編譯後的檔案

2021-05-28 05:04:05 字數 481 閱讀 2531

我在linux系統下編譯.cpp檔案,編譯好後,用php system函式來執行編譯後的c。。

結果***的發現居然不行。。

但是用system來執行linux命令卻可以的。。。

經過隊長的提醒和自己搞了半天,終於發現原來是資料夾許可權問題。。

記住編譯後的檔案不能直接chmod 777.給它所有許可權都不行

一定要 chmod u+s 才行~~

查了下資料

其實檔案與目錄設定不止這些,還有所謂的特殊許可權。由於特殊許可權會擁有一些「特權」,因而使用者若無特殊需求,不應該啟用這些許可權,避免安全方面出現嚴重漏洞,造成黑客入侵,甚至摧毀系統!!!

s或s(suid,set uid):可執行的檔案搭配這個許可權,便能得到特權,任意訪問該檔案的所有者能使用的全部系統資源。請注意具備suid許可權的檔案,黑客經常利用這種許可權,以suid配上root帳號擁有者,無聲無息地在系統中開扇後門,供日後進出使用。

所以有了s才能執行可執行的檔案

PHP執行C C 編譯後的檔案

我在linux系統下編譯.cpp檔案,編譯好後,用php system函式來執行編譯後的c。結果 的發現居然不行。但是用system來執行linux命令卻可以的。經過隊長的提醒和自己搞了半天,終於發現原來是資料夾許可權問題。記住編譯後的檔案不能直接chmod 777.給它所有許可權都不行 一定要ch...

C C 的編譯與執行

c c 編譯前,首先要對源 執行預處理。預處理器 preprocessor 是乙個簡單的程式,它用程式設計師 利用預處理器指令 定義好的模式代替源 中的模式 刪除注釋 包含其他檔案以及執行巨集 預處理後生成中間檔案.i 文字 接下來對於.i檔案進行語法分析。編譯器把源 分解成小的單元並把它們按樹形結...

C C 的編譯與執行

c c 編譯前,首先要對源 執行預處理。預處理器 preprocessor 是乙個簡單的程式,它用程式設計師 利用預處理器指令 定義好的模式代替源 中的模式 刪除注釋 包含其他檔案以及執行巨集 預處理後生成中間檔案.i 文字 接下來對於.i檔案進行語法分析。編譯器把源 分解成小的單元並把它們按樹形結...