PHP 伺服器及TP5框架遇到的幾個錯誤

2022-08-18 19:54:15 字數 2688 閱讀 8784

lamp環境搭建的部落格,在提交內容的時候tp5框架報了乙個錯誤,call to undefined function imagecreatefrompng();  出現這個問題一般都是gd庫未正確安裝或配置,在伺服器上查詢是否安裝輸入命令:

php -m grep -i gd
並沒有找到gd庫,原來是沒有安裝gd庫,在centos系統上安裝gd庫可以直接用yum install,命令: 

yum install -y php-gd
安裝完成後重啟apache: 

service httpd restart
重新整理頁面重新提交搞定:

在使用tp5框架開發中,**網域名稱更換為另外乙個,原站點沒有刪除,只是把源**重新copy乙份配置了乙個新的網域名稱,在瀏覽器中訪問的時候出現了"mkdir() permission denied"許可權被拒絕的錯誤,這說明你沒有開放tp框架內runtime目錄的許可權,登陸伺服器找到/var/www/html/tp5/runtime目錄,修改目錄許可權為777,命令:

chmod -r 777 runtime
改runtime目錄表示對所有人開放,修改完成後到瀏覽器重新輸入**一切正常.

實際過程中遇到上述錯誤,有的人說未開啟php_mbstring拓展,找到php.ini配置檔案,不知道位置的可以用命令:

find / -name 'php.ini'
在php.ini檔案中找到 ;extension=php_mbstring.dll ;把前面的;去掉即可,我找了一下發現沒有找到這個拓展,這時候檢視/etc/php.d目錄,裡面是所有的php拓展,並沒有php_mbstring,這時候可以用命令安裝php_mbstring;

yum install -y php-mbstring
安裝完成後會在/etc/php.d目錄裡看到乙個mbstring.ini的配置檔案,這說明已經安裝成功,重啟php-fpm即可:

在實際應用中遇到乙個web**執行漏洞,如下圖:

出現這種情況的原因就是如果我們通過url訪問乙個目錄時,並且該目錄開啟了自動列表功能,那麼目錄所包含的檔案就會被自動的以列表的形式顯示出來,這樣就有可能導致上圖中敏感資料洩露,解決這個問題需要修改apache的配置檔案httpd.conf;

1.找到options indexes followsymlinks 並改為 options followsymlinks;

2.找到以下**:

var/www">

allowoverride none

options indexes

//此處需要修改為options none

order allow,deny

allow

from

alldirectory>

將上面**中的options indexes改為options none即可,根據apache版本的不同,配置檔案可能不是完全相同,最好全域性搜尋一下再做修改,儲存完成後重啟apache:

service httpd start
另附上lamp環境搭建常用的一些基礎命令:

1.檢查當前安裝的php包

yum list installed | grep php
2.檢視可安裝的php版本:

yum list php*
3.安裝某個版本的php(php-fpm.x86_64為php版本號,可以直接替換成你想安裝的版本)

yum -y install php-fpm.x86_64
4.解除安裝已安裝的php包

yum remove php-fpm.x86_64
1.檢查已安裝的apache

yum list installed httpd*
2.檢視可安裝的apache版本

yum list httpd*
3.安裝某個版本的apache

yum install httpd24-httpd
4.解除安裝已安裝的apache包

yum remove httpd24-httpd
1.檢查已安裝的mysql

yum list mysql*
2.安裝mysql

yum install mysql
3.刪除已安裝的mysql

yum remove mysql
service php-fpm start
service httpd start
service mysqld start
service php-fpm stop
service httpd stop
service mysqld  stop
service php-fpm restart
service httpd  restart
service mysqld  restart
另外lamp環境的擴充套件也可以直接用yum install安裝,例如上述安裝gd庫擴充套件: 

yum install -y php-gd

tp5之伺服器不顯示驗證碼

今天在使用tp框架的時候遇到的乙個bug,前輩們早已有解決方法,遇到了做個筆記 tp5框架,自帶的驗證碼在本地localhost執行是沒問題的,可以正常顯示,如圖 然後,把框架拿到伺服器是去執行,驗證碼就不能顯示了,像這樣 本來是有驗證碼的 只是顯示不出來,這個tp手冊沒有說明的,如果沒有前輩在網上...

tp5驗證器的使用

1.定義驗證器模組 use think validate class admin extends validate 2.控制呼叫 validate validate admin 助手函式匯入1二 驗證器實際使用簡化合併及場景呼叫 1.簡化 驗證器規則和提示資訊合併顯示 protected rule ...

Tp5框架中的where條件的使用

在我們一般使用這個框架中,where條件是依陣列的形式來呈現的。比如說 where field select 但是,如果是陣列的形式,無法滿足我們的whereor,因為陣列在where條件中會轉換成whereand。這個時候,我們就可以使用where中的字串形式。where a 1 and b 2 ...