我在安装 mysql 时遇到了一个我无法单独解决的问题。首先,我尝试使用此命令删除和清除旧文件
sudo apt-get remove --purge mysql
Run Code Online (Sandbox Code Playgroud)
也试过
sudo apt-get remove --purge mysql*
Run Code Online (Sandbox Code Playgroud)
和
sudo apt-get remove --purge mariadb*
Run Code Online (Sandbox Code Playgroud)
所有 3 个命令都返回相同的输出...
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
dbconfig-mysql : Depends: mysql-client but it is not going to be installed or
mariadb-client but it is not going to be installed or
virtual-mysql-client
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Run Code Online (Sandbox Code Playgroud)
所以我按照建议的方式运行apt-get …
我正在尝试一些简单但无法弄清楚的事情。试图运行一个从站点目录调用 php 脚本的 shell 脚本。我的 shell 脚本很简单test.sh
:
#!/bin/sh
LIST="/path/to/my/site/dir"
CONFIG="/usr/bin/php "
for i in $LIST
do
. "${CONFIG}${i}/test.php"
done
Run Code Online (Sandbox Code Playgroud)
我的test.php
没有错误,当我直接在浏览器中运行它时,它正在工作。它又是一个简单的脚本,如
<?php
// source code
?>
Run Code Online (Sandbox Code Playgroud)
当我运行./test.sh
结果是
./test.sh: 8: .: 无法打开 /usr/bin/php /path/to/my/site/dir/test.php
8号线是 . "${CONFIG}${i}/test.php"
我也试过在 PHP 文件的开头添加这一行,但结果是一样的
#!/usr/bin/php
Run Code Online (Sandbox Code Playgroud)
更新:php的路径
$ which -a php
/usr/bin/php
Run Code Online (Sandbox Code Playgroud)
我也做了 chmod +x test.php
我知道有很多类似的问题,我已经尝试了很多东西,但仍然无法使其发挥作用。
我有计划运行 10 分钟的 cronjob。我可以看到/var/log/syslog
它运行正常
Oct 21 07:30:01 stan CRON[7604]: (stan) CMD (stan /home/stan/update.sh)
Oct 21 07:40:01 stan CRON[8304]: (stan) CMD (stan /home/stan/update.sh)
Oct 21 07:50:01 stan CRON[8751]: (stan) CMD (stan /home/stan/update.sh)
Oct 21 08:00:01 stan CRON[9347]: (stan) CMD (stan /home/stan/update.sh)
Oct 21 08:10:01 stan CRON[9789]: (stan) CMD (stan /home/stan/update.sh)
Run Code Online (Sandbox Code Playgroud)
update.sh
调用php
更新数据库的脚本。当我直接从终端运行时,shell 脚本数据库已更新并且工作正常
./update.sh
Run Code Online (Sandbox Code Playgroud)
但 cronjob 不会更新数据库。我的克罗恩
*/10 * * * * stan /home/stan/update.sh
Run Code Online (Sandbox Code Playgroud)
shell 脚本生成的命令是
/usr/bin/php /var/www/html/site/update.php
Run Code Online (Sandbox Code Playgroud)
两个文件的权限
-rwxrwxr-x 1 stan stan 123 Oct 20 …
Run Code Online (Sandbox Code Playgroud)