Linux下php新增新擴充套件

2021-07-02 04:05:47 字數 1276 閱讀 5424

今天幹了一件很嚴重的錯事,用tp開發完新專案後,傳到伺服器上報錯,網上查了一下,說未載入pdo,就載入吧。找到配置檔案php.ini,搜到;extension=php_pdo_mysql.dll,去掉前面的注釋,重啟伺服器,看似一切正常,卻大錯特錯。

linux下應該是.so,而不是.dll,php原始碼中的php.ini-development只是用.dll作為樣例,在linux下不能直接去除注釋就行了。但是我一直沒發現,誤以為是php.ini未生效,在網上找各種解決辦法,一直改配置檔案,結果誤操作,把生產環境上面的配置檔案也改了。造成大問題。唉。。。。。。在網上找了個linux下正確新增新擴充套件的方法,以pdo為例:

進去到php的原始碼包的ext中

[root@linux php]# cd /usr/local/src/php-5.2.17/ext/pdo_mysql

[root@linux pdo_mysql]# /usr/local/php/bin/phpize(phpize 命令是用來準備 php 外掛程式模組的編譯環境的)

configuring for:

php api version: 20041225

zend module api no: 20060613

zend extension api no: 220060519

[root@linux pdo_mysql]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql (假設你的mysql是安裝在/usr/local/mysql)

[root@linux pdo_mysql]# make && makeinstall

。。。。。。。。。。

build complete.

don't forget to run 'make test'.

installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

修改php.ini加入

extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so"

重啟apache

/usr/local/apache2/bin/apachectl restart  重啟

phpinfo中有pdo_mysql了

總結:一直用的整合環境,沒編譯安裝過php環境,而且對php的配置不熟悉。

Linux下php新增新擴充套件

今天幹了一件很嚴重的錯事,用tp開發完新專案後,傳到伺服器上報錯,網上查了一下,說未載入pdo,就載入吧。找到配置檔案php.ini,搜到 extension php pdo mysql.dll,去掉前面的注釋,重啟伺服器,看似一切正常,卻大錯特錯。linux下應該是.so,而不是.dll,php原...

Linux下php新增redis擴充套件

檢視php版本 php v 如下 php 7.1.25 cli built dec 6 2018 22 54 10 nts php 7.1.25 cli built dec 6 2018 22 54 10 nts 列出所有的可以安裝的php軟體包列表 yum list grep php71w 結果大...

Linux下php動態新增擴充套件

假定手動配置好php環境情況下.一.生成需要呼叫的so檔案 要呼叫的演算法 int rgb to gray int r,int g,int b gcc o c fpic o gray.o gray.c fpic 是指生成的動態庫與位置無關 gcc shared o libgray.so gray.o...