2011-11-18 61 views
6

我試圖通過php-fpm.conf文件加載ioncube加載程序。在php-fpm.conf中加載zend擴展的正確方法是什麼?

我知道你可能想知道爲什麼我沒有使用php.ini,但它有點複雜,你可以在這裏看到更多的原因(Does each PHP-FPM Worker individually load php.ini?)。

無論如何,我用下面的指令在php-fpm.conf加載從這個文件(PHP-fpm.conf)我的其他擴展:

php_admin_value[extension]=<extension_name>.so 

因此,例如,php_admin_value[extension]=apc.so從負載APC extension_dir(在我的php.ini中定義)。它工作正常,解決了我通過php.ini定義擴展時遇到的一些問題。

但是,使用zend_extension指令不起作用。所以下面看起來不起作用

php_admin_value[zend_extension]=/usr/lib/php5/20090626/ioncube_loader_lin_5.3.so 

有什麼我失蹤了嗎?我會很感激一些幫助。

在此先感謝。

+0

什麼apache錯誤日誌說? –

+0

@JohnCartwright我沒有使用Apache,我正在使用NGINX。 –

回答

2

我認爲Zend擴展只能在php.ini

+1

真的嗎?!我不知道。我想我可能不得不放棄使用Zend Guard Loader或IonCube Loader。在PHP-FPM中,它會導致致命錯誤,因爲PHP-FPM工作人員正試圖加載php.ini倍數,並且我似乎無法弄清楚如何解決這種情況。謝謝。 –

+0

是否有/etc/php5/fpm/php.ini文件可以加載? – danielrsmith

+0

我從源代碼編譯PHP,以及從PECL中需要的所有擴展。我沒有使用apt-get。我有一個php.ini文件,但是當我加載它時,似乎與php-fpm有一些衝突,因爲在php-fpm.conf中我設置了創建5個工作者......並且我不知道當然,但似乎每個池都試圖加載php.ini,所以當我重新啓動php-fpm時,它告訴我模塊(zend loader)已經加載,然後失敗。 –

2

加載只能定義用php-fpm的命令

# copy php.ini, and enable all extensions here 
cp /etc/php5/php.ini /etc/php5/my-php.ini 
# copy fpm config and set a new pool dir 
cp /etc/php5/fpm/php-fpm.conf /etc/php5/fpm/php-fpm-my-config.conf 
# create a new pool conf and create a new start script 
php-fpm -c /etc/php5/my-php.ini --fpm-config /etc/php5/fpm/php-fpm-my-config.conf 

這就是一個PHP文件中的所有:)

有同樣的問題,這就是爲什麼我在這裏回答;-)

+0

我的用例的完美解決方案。謝謝 – Blizz

相關問題