十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
问题:
无锡ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
安装好phpstudy后,Apache可以启动,Mysql无法启动。
原因:
之前已经装过Mysql,要把系统服务里面的MySQL删除,留下MySQL服务。
解决办法:
在cmd命令行下输入:sc delete mysql即可删除mysql服务。
当我们在cmd里使用 sc delete 服务名,来删除服务的时候,报错误,SC OpenService 失败5:拒绝访问,这似乎是因为权限不够。
解决方法:
第一步、我们必须先取得管理员权限,以管理员权限运行cmd.exe。
第二步、在输入命令:sc delete 要删除的服务名
phpstudy中apache或mysql无法启动
phpstudy中apache或mysql无法启动,启动一下没了
明显端口被占用了,假如我们需要确定谁占用了我们的80端口,3306端口
对网站来说,网络apatche服务器是默认 80,数据库mysql是3306
端口占有两种解决方法:
法1:把被占用的 进程结束掉 (如果你没装iis的话,也就是 你把能关的软件都关闭 尤其迅雷什么的)
法 2:改apatche 的端口
具体如下:
----------------------------------------
法一、如何查看某个端口被谁占用,把被占用的 进程结束掉
我们在启动应用的时候经常发现我们需要使用的端口被别的程序占用,但是我们又不知道是被谁占用,这时候我们需要找出“真凶”,如何做到呢?
方法/步骤
第一步:开始----运行----cmd,或者是window+R组合键,调出命令窗口
第二步:输入命令:netstat -ano,列出所有端口的情况。在列表中我们观察被占用的端口,比如是49157,首先找到它。
(对网站来说,网络apatche服务器是默认 80,数据库mysql是3306)
第三步:查看被占用端口对应的PID,输入命令:netstat -aon|findstr "49157",回车,记下最后一位数字,即PID,这里是2720
第四步:有两种方法
1..续输入tasklist|findstr "2720",回车,查看是哪个进程或者程序占用了2720端口,结果是:svchost.exe
2..
或者是我们打开任务管理器,切换到进程选项卡,在PID一列查看2720对应的进程是谁,如果看不到PID这一列,如下图:
则我们点击[查看]---[选择列],将PID(进程标示符)前面的勾打上,点击确定。
这样我们就看到了PID这一列标识,看一下2720对应的进程是谁,如果没有,我们把下面的显示所有用户的进程前面的勾打上,就可以看到了,映像名称是svchost.exe,描述是,Windows的主进程,与上面命令查看的完全一致。
第五步:结束该进程:在任务管理器中选中该进程点击”结束进程“按钮,或者是在cmd的命令窗口中输入:taskkill /f /t /im Tencentdl.exe。
-------------------------------------------------------------------------
法二:phpstudy修改端口
phpstudy控制面板中,点击 其他选项
:将端口改为 8080
但需要注意,修改端口后,在输入网址的时候,要带着端口
如:(注意有冒号)
localhost:8080
localhost:8080/zz/index.php
启动php-fpm。
/usr/local/php5/sbin/php-fpm /usr/local/php5/为php-fpm的安装地址。
/usr/local/php-5.6.3/sbin/php-fpm-R #如果报错显示不能用root用户启动,则可以考虑使用-R命令。
查看是否启动成功:
netstat-lnt|grep9000
tcp00127.0.0.1:90000.0.0.0:*LISTEN
或者使用如下命令,查看是否9000端口被php-fpm占用:
netstat-tunpl|grep9000
tcp 0 0127.0.0.1:9000 0.0.0.0:* LISTEN 2124/php-fpm。
关于PHP运行linux环境中命令出现的问题。
php一般是以apache用户身份去执行的。
也可能是www用户,把apache加入到存储你文件的父文件夹属组里去。
然后改该父文件夹权限为775,这样属组成员就有写的权限,而apache属于这个组就可以改写该目录下所有文件的权限。
在php.ini文件中配置safe_mode参数支持命令执行的方法,可以参考下。
说明:
本节内容在wamp包安装的环境实现。
首先,打开php.ini,关掉安全模式safe_mode = off,然后在看看 禁用函数列表 disable_functions = proc_open, popen, exec, system, shell_exec ,把exec去掉。
php代码:
复制代码代码如下:
?php
exec("mkdir d:\\test",$out);
print_r($out);
?
执行该php文件,会发现在d盘下多了一个test文件夹。
参考文档:
exec函数解析
exec语法: string exec(string command, string [array], int [return_var]);
exec返回值: 字符串
exec参数说明
Command – 需要执行的命令
Array – 是输出值
return_var –是返回值0或1,如果返回0则执行成功,返回1则执行失败。
exec不成功,调试方案
技巧分享:
使用管道命令, 使用 21, 命令就会输出shell执行时的错误到$output变量, 输出该变量即可分析。
例如:
exec(‘convert a.jpg b.jpg', $output, $return_val);
修改为:
复制代码代码如下:
exec(‘convert a.jpg b.jpg 21′, $output, $return_val);
print_r($output);
Linux操作系统中安装Mysql:
1. 从 下载二进制版的Mysql安装包 //这个MYSQL是二进制版的,不用编译
2. # chmod 755 mysql-standard-5.0.15-linux-gnu-i686-glibc23.tar.gz
//
3. # tar xfz mysql-standard-5.0.15-linux-gnu-i686-glibc23.tar.gz //将解压后生成的目录,复制到/usr/local/下并改名为mysql
4. # groupadd mysql
# useradd mysql -g mysql // 建立mysql组
//建立mysql用户并且加入到mysql组中
5. # cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
在 support-files目录下有4个模版文件,我们选择其中一个座位Mysql的配置文件,覆盖/etc/my.cnf(系统默认的配置,其中设置了性能参数和Mysql的一些路径参数)
6. # cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql
进入mysql目录
//初试化表并且规定用mysql用户来访问。初始化表以后就开始给mysql和root用户设定访问权限
7. # chown -R root . //设定root能访问/usr/local/mysql
8. # chown -R mysql data //设定mysql用户能访问/usr/local/mysql/data ,里面存的是mysql的数据库文件.这个目录是在/etc/my.cnf中有配置,在mysql_install_db时产生。
9. # chown -R mysql data/. //设定mysql用户能访问/usr/local/mysql/data/mysql下的所有文件
10. # chgrp -R mysql . //设定mysql组能够访问/usr/local/mysql
11. # /usr/local/mysql/bin/mysqld_safe --user=mysql
运行mysql
如果没有问题的话,应该会出现类似这样的提示:
[1] 42264
# Starting mysqld daemon with databases from /usr/local/mysql/var
如果出现 mysql ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题,Log文件的通常在/etc/my.cnf中配置。大多数问题是权限设置不正确引起的。
12. 用如下命令修改MYSQL密码
# /usr/local/mysql/bin/mysqladmin -u root password yourpassword //默认安装密码为空,为了安全你必须马上修改.
13. # cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 700 /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on //copy编译目录的一个脚本
//设置使mysql每次启动都能自动运行
14. # service mysqld start
# netstat -atln
//启动mysqld服务
//查看3306端口是否打开。要注意在防火墙中开放该端口。 详细请看
操作系统下面 查看Apache+php+mysql在windows下的安装与配置图解