我不確定我的服務器上是否有sqlite,所以我想用一個PDO對象來測試,看看服務器是否支持sqlite。我想:通過PHP文件測試sqlite服務器的最快方法?
<?php
echo `sqlite3 -v`;
得到了以下錯誤:Warning: shell_exec() has been disabled for security reasons
我不確定我的服務器上是否有sqlite,所以我想用一個PDO對象來測試,看看服務器是否支持sqlite。我想:通過PHP文件測試sqlite服務器的最快方法?
<?php
echo `sqlite3 -v`;
得到了以下錯誤:Warning: shell_exec() has been disabled for security reasons
你可以只使用function_exists()檢查sqlite的功能都存在,像這樣:
if (function_exists('sqlite_open')) {
echo 'Sqlite PHP extension loaded';
}
其實我已經找到了一種方法來測試這個,現在:
<?php
echo sqlite_libversion();
echo "<br>";
echo phpversion();
回報是這樣的:
2.8.17
5.2.17
如果sqlite擴展不存在,你對'sqlite_libversion'的調用會產生一個運行時php錯誤,你需要使用'function_exists()'來防止這種錯誤。 – Nelson
@Nelson你也可以使用'function_exists('sqlite_libversion')',但是輸入更多,對吧? :) –
您的php.ini
已被禁用如果要直接運行shell命令,則需要在其中尋找shell_exec。
這可能是下
disable_functions = ..., shell_exec, ...
其實,我甚至不能SSH進來。這是一個免費的網絡主機,我只是用它來遠程測試腳本。我不認爲我可以編輯php.ini。 –
我不認爲free-webhosts實際上給你一種修改php.ini的方法。 –
或者你可以簡單地使用:
if (extension_loaded('sqlite3')) {
// Do things
}
經過測試;加工。 –