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

1、Call to undefined function imagecreatefrompng():php

LAMP環境搭建的博客,在提交內容的時候TP5框架報了一個錯誤,Call to undefined function imagecreatefrompng();  出現這個問題通常都是GD庫未正確安裝或配置,在服務器上查詢是否安裝輸入命令:html

php -m grep -i gd

並無找到GD庫,原來是沒有安裝GD庫,在centOS系統上安裝GD庫能夠直接用yum install,命令: mysql

yum install -y php-gd

安裝完成後重啓apache: web

service httpd restart

刷新頁面從新提交搞定:sql

 

2、mkdir() Permission denied:apache

在使用TP5框架開發中,網站域名更換爲另一個,原站點沒有刪除,只是把源代碼從新copy一份配置了一個新的域名,在瀏覽器中訪問的時候出現了"mkdir() Permission denied"權限被拒絕的錯誤,這說明你沒有開放TP框架內runtime目錄的權限,登錄服務器找到/var/www/html/TP5/runtime目錄,修改目錄權限爲777,命令:瀏覽器

chmod -R 777 runtime

改runtime目錄表示對全部人開放,修改完成後到瀏覽器從新輸入網址一切正常.服務器

 

3、Call to undefined function Think\mb_strlen():框架

實際過程當中遇到上述錯誤,有的人說未開啓php_mbstring拓展,找到php.ini配置文件,不知道位置的能夠用命令:ide

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便可:

 

4、禁止Apache顯示目錄列表

在實際應用中遇到一個web代碼執行漏洞,以下圖:

出現這種狀況的緣由就是若是咱們經過URL訪問一個目錄時,而且該目錄開啓了自動列表功能,那麼目錄所包含的文件就會被自動的以列表的形式顯示出來,這樣就有可能致使上圖中敏感數據泄露,解決這個問題須要修改apache的配置文件httpd.conf;

1.找到Options Indexes FollowSymLinks 並改成 Options FollowSymLinks;

2.找到如下代碼:

<Directory "/var/www">
    AllowOverride None
    Options Indexes //此處須要修改成Options None
    Order allow,deny
    Allow from all
</Directory>

將上面代碼中的Options Indexes改成Options None便可,根據apache版本的不一樣,配置文件可能不是徹底相同,最好全局搜索一下再作修改,保存完成後重啓apache:

service httpd start

 

另附上LAMP環境搭建經常使用的一些基礎命令:

PHP:

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

 

Aaache:

1.檢查已安裝的apache

yum list installed httpd*

2.查看可安裝的apache版本

yum list httpd*

3.安裝某個版本的apache

yum install httpd24-httpd

4.卸載已安裝的apache包

yum remove httpd24-httpd

 

MySQL:

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
相關文章
相關標籤/搜索