目前在根据书籍PHP and MySQL Web Development学习PHP,本篇笔记主要记录根据书本附录在Ubuntu14.0种安装Apache、PHP和MySQL遇到的一些问题。
因为安装的时候各种出错误,忙着解决,忘了截图,所以有关的操作都直接推荐了本人在解决错误时借鉴的大佬们的博文。
其中,提醒大家的是在虚拟机系统中尝试安装各种环境时,一定要注意在安装前先对系统进行备份,以防安装失败后还要重新安装虚拟系统。说多了都是泪(lll¬ω¬)
根据书本种提到要安装的软件和函数进行下载,其中IMAP的安装很可能因为系统差异造成错误,可以直接在系统中利用apt-get命令安装。
1.Apache
http://httpd.apache.org/download.cgi#apache24
2.OpenSSL
http://distfiles.macports.org/openssl/
3.MySQL
https://dev.mysql.com/downloads/file/?id=491630
4.PHP
https://www.php.net/
5.JPEG
http://www.ijg.org/
6.PNG
https://sourceforge.net/projects/libpng/files/libpng16/1.6.37/
7.zlib
http://www.zlib.net/
8.IMAP
https://www.mirrorservice.org/sites/ftp.cac.washington.edu/imap/
记录一些在本次安装中本人用到的一些命令,
-r表示强制删除,-f表示不提示
1.强制删除文件夹并提示
sudo rm -r 文件夹名
2.强制删除文件夹不提示
sudo rm -rf 文件夹名
复制文件时一定不要忘了加路径
复制文件时一定要注意是否需要root权限(需要的话必须加sudo)
sudo cp -r文件夹名 目标文件夹路径
sudo gedit 文件名
1.先确定系统内已经安装了 gcc-c++
2.具体解决方法推荐博文:http://blog.chinaunix.net/uid-26986973-id-3246235.html
3.apr和apr-util下载网址:http://archive.apache.org/dist/apr/?C=S;O=A
4.pcre下载网址:https://ftp.pcre.org/pub/pcre/
根据第2步中的方法安装好后,./configure步骤没有继续出问题,终于开心了。但还是太天真,在make的时候又出问题了
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/usr/src/httpd-2.4.41/support'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/usr/src/httpd-2.4.41/support'
make: *** [install-recursive] Error 1
经过资料查询,是因为缺少了xml相关的库,需要安装libxml2-devel包。这就需要重新安装apr等软件。
具体操作见推荐博文:https://blog.51cto.com/castiel/2051440
安装libexpat1-dev
configure: error: zlib not installed
解决方法:安装PNG之前应先安装zlib
直接使用预编译包安装速度快,不会因为系统差异生成错误
sudo apt-get install libc-client-dev
这是安装PHP时需要的组件的安装命令,书上的命令少了openssl的路径
sudo ./configure --prefix=/usr/local/php
--with-mysqli=mysqlnd \
--with apxs2=/usr/local/apache2/bin/apxs \
--with-jpeg-dir=/usr/local/lib \
--with-png-dir=/usr/local/lib \
--with-zlib-dir=/usr/local/lib \
--with-imap=/usr/lib \
--with-kerberos \
--with-imap-ssl \
--with-gd \
--with-openssl-dir=/usr/local/openssl/lib
configure: error: Package requirements (sqlite3 > 3.7.4) were not met:
No package 'sqlite3' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables SQLITE_CFLAGS
and SQLITE_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
解决方法:安装libsqlites-dev
sudo apt-get install libsqlite3-dev
本人已经确定安装了openssl,并且已经在./configure命令中添加了openssl的环境变量,但还是出现了该问题。经过资料查阅是因为库的位置不对造成的,会默认使用ubuntu自带的openssl。所以我们安装完openssl后还需要配置环境变量,最后做一个软链接即可。
具体操作推荐博文:
1>https://blog.csdn.net/wangzhjj/article/details/78476832
2>https://blog.csdn.net/u013091013/article/details/53784389
完成上述操作后,记得安装 libssl-dev ,并添加在第一个博文中提到的自己设置的环境变量
3> sudo apt-get install libssl-dev
4> --with-openssl-dir=/usr/local/openssl/lib