LINUX下PHP對具名管道操作許可權問題解決小記

來源:互聯網
上載者:User

這兩天碰到一個小問題卡了我老半天……就是LINUX下PHP程式與其他程式通訊。

 

我們需要實現使用者在WEB頁面上進行操作時可以啟用我們在伺服器端的背景程式(用C、C++編寫)。

之前在windows下,已經使用具名管道實現(請見我之前的博文http://blog.csdn.net/rcfalcon/archive/2010/02/09/5303142.aspx),這次將伺服器整體移往LINUX下。

 

 

伺服器環境 CentOS 5 + apache + mysql + php

於是乎基本按照之前的代碼架構,很快就在伺服器端調通了。(但是我是使用的root使用者直接啟動並執行PHP指令碼測試的)

 

但是後來測試通過WEB訪問的時候,提示說拿不到具名管道的許可權。

 

於是乎開始解決這個問題……

 

修改php.ini的open_basedir等設定,未果。

修改httpd.conf的若干設定,未果。

將具名管道chmod 777,未果。

將apache伺服器使用者組設成 root,未果。

再將命名管管道chown apache:root,未果。

嘗試PHP讀寫普通檔案,沒問題。

翻PHP官方手冊,未發現問題。

 

於是乎我開始抓狂了。

把百度、google都翻了10多頁,也找不到正確答案。。。

 

最後開始翻國外的編程論壇,終於看到有個人跟我情況類似。但是他說他把httpd換了個目錄然後restart service就行了,照著嘗試,未果……

 

最後看到有人說可能是SELINUX的問題,我在崩潰之餘懷著最後一絲希望把SELINUX禁了,然後重啟。

 

首先是一切正常,

然後GNOME居然報了一堆錯,不管了,繼續

然後……

居然可以了!

 

萬惡的SELINUX……

原來centos5、RHEL、FEDORA等內建的預設安裝SELINUX,其在很大的程度上加強了整個LINUX系統的安全性。但是很多使用者權限上受到限制,比如在我這個問題中,就是其把apache使用者的具名管道讀寫權限給關閉了。

看來還是需要惡補 LINUX啊,太菜了~

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.