簡體   English   中英

PHP警告:PHP啟動:無法加載動態庫'./lib.so'-./lib.so:未定義符號:*在第0行的Unknown中

[英]PHP Warning: PHP Startup: Unable to load dynamic library './lib.so' - ./lib.so: undefined symbol: * in Unknown on line 0

我已經編寫並編譯了php擴展名,但是當我嘗試運行php時出現此錯誤PHP警告:PHP啟動:無法加載動態庫'/usr/lib/php5/20100525+lfs/mylib.so'-/ usr / LIB / PHP5 / 20100525 + LFS / mylib.so:未定義的符號:_ZNK4Data10strtolowerEPKc在未知在線0 data.h

class Data
{

public:
     // ...
     char *strtolower  ( const char * const ) const;
};

數據文件

inline char *Data::strtolower(const char *const str) const
{
   char c, *b = estrdup(str), *s = b;
   while(*s != '\0' && (c = *s))
   {
      *s++ = (c >= 0x41 && c <= 0x5a) ? c + 0x20 : c;
   }
   return b;
}

這是什么錯誤?為什么要編譯代碼? 主要問題是如何解決?

我寫了兩個答案,可能會幫助您:

Linux C ++ LD_LIBRARY_PATH禁止使用標准庫

如何使用php腳本從.so文件調用函數?

具體來說,我認為您的錯誤是您的模塊不在ldcache中(請參閱第一個答案)。

另外,您不能內聯cpp文件。 內聯僅用於標題。 刪除內聯,如果您的模塊位於ldcache或LD_LIBRARY_PATH中,則可能會起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM