2013-09-25 43 views
0

工作,我已經使用以下鏈接創建一個簡單的PHP擴展:PHP擴展不是在LINUX

Sample Hello World PHP extension on Ubuntu

我創建了一個PHP擴展成功爲hello.so。 我已經使用XAMPP包,在此我提出這個hello.so/opt/lampp/modules/ 和我已經包含的行:

extension=hello.so in /opt/lampp/etc/**php.ini** 

Eventhough,如果我從命令提示等調用的函數:

$ php -r ‘hello_world();’ 

即使我得到錯誤作爲功能未定義。

+0

在擴展包含之後是否重新啓動Apache服務 –

+1

php -m的輸出是什麼?它顯示了所有已加載的模塊。你能在列表中看到你的「你好」嗎? – Vineesh

+0

@Swapnil Patil,我認爲如果他要通過命令行運行腳本,則不需要重新啓動apache。 – Vineesh

回答

0

首先測試你的php.ini文件擴展名是否包含成功或不是。用於檢查調用phpinfo()函數。

如果有那麼

php -r 'echo hello_world();' 

運行此命令上認爲prompt.I丟失的迴音,而射擊command.You有使用回聲,因爲它返回的東西。

注意:擴展包含後重新啓動您的apache服務。

sudo service apache2 restart 
0

要構建PHP擴展,創建一個C文件Linux`後,你必須運行以下命令:

$ phpize 
$ ./configure --enable-hello 
$ make 

而且不要忘了運行:

$ sudo make install 

如果您運行此命令,默認情況下,您新創建的擴展模塊(.so)將被移至默認動態擴展路徑(路徑將爲displaye d運行命令)後

然後提到在PHP.INI文件中dynamic_extension directory節這個充滿活力的擴展路徑,包括您的.so文件中Dynamic Extension部分。 然後重新啓動Apache服務器,肯定會工作得很好。