2014-03-19 27 views
0

我嘗試了互聯網上的每種方法,但無法找出問題所在。我的腳本給出錯誤"Call to undefined function snmp2_get()"。相同的代碼是通過啓用PHP擴展在窗口機器上工作,如何啓用&檢查我的snmp在Linux上的擴展是否正常。請幫幫我 。我無法讓我的snmp在linux機器上工作

+1

我不認爲沒有看到你已經嘗試過的東西,任何人都可以幫助你。換句話說,發佈你的代碼。 如果您的代碼太大而無法發佈,請創建一個產生錯誤的小示例,然後發佈。 http://stackoverflow.com/help/mcve 在這種情況下,您可能沒有正確導入snmp擴展,但誰知道沒有看到代碼? – Jolta

+0

我的代碼是正確的。但我的擴展不能在linux中工作。如何啓用該功能。在窗口它運行良好。但在Linux中它會產生錯誤。我嘗試了簡單的1行代碼$ syscontact = snmp2_get(「127.0.0.1」,「public」,「system.SysContact.0」);這是返回錯誤。 sudo服務snmpd重啓成功並重啓neteork mang。服務,但是當我運行ps -aux | grep snmp或運行我的文件它給錯誤,如何在Linux中啓用或重新安裝我的snmp擴展php。窗口非常簡單。 –

回答

0

如果你能夠從Linux終端執行SNMP命令一樣,因爲這

[email protected] $ snmpwalk -v2c -c public 127.0.0.1 1.3.3.3.242.4.2 

但你得到調用未定義功能snmp2_get()的同時,就意味着對SNMP通信PHP extenstion未安裝。如果輸出包含SNMP則模塊已經加載你可以通過執行

[email protected] $ php -m 

驗證它,你不應該得到的錯誤,但如果你沒有在輸出找到任何SNMP模塊,那麼你需要安裝它。

只使用自己的PHP版本安裝SNMP的extenstion 的apt-get安裝(如果您是在基於Debian操作系統像Ubunutu),或使用百勝安裝(如果您是在基於RPM操作系統等爲CentOS的,Fedore ,RHEL等)