是否可以使用PHP来创建,编辑和删除crontab作业?
我知道如何列出Apache用户的当前crontab作业:
$output = shell_exec('crontab -l');
echo $output;
Run Code Online (Sandbox Code Playgroud)
但是如何用PHP添加cron作业?'crontab -e'只会打开文本编辑器,您必须在保存文件之前手动编辑条目.
以及如何使用PHP删除cron作业?再次,您必须通过'crontab -e'手动执行此操作.
使用这样的作业字符串:
$job = '0 */2 * * * /usr/bin/php5 /home/user1/work.php';
Run Code Online (Sandbox Code Playgroud)
如何使用PHP将其添加到crontab作业列表?
经过Google的一些搜索后,我想出的是:
find my_folder -type f -exec grep -l "needle text" {} \; -exec file {} \; | grep text
Run Code Online (Sandbox Code Playgroud)
这是非常不方便的,并输出不需要的文本,如mime类型信息.更好的解决方案?我在同一个文件夹中有很多图像和其他二进制文件,我需要搜索大量文本文件.
所以我只能导出这样一个表:
mysqldump -u root -p db_name table_name > table_name.sql
Run Code Online (Sandbox Code Playgroud)
有没有办法只使用mysqldump导出表的一部分?例如,0 - 1,000,000行,1,000,000 - 2,000,000行等.
我应该使用mysqldump还是查询?
所以我需要在PHP中对数组进行编码并将其以纯文本形式存储在MySQL数据库中,我的问题是我应该使用serialize()还是json_encode()?每个人的优点和缺点是什么?
我认为他们中的任何一个都会在这种情况下做.但是你更喜欢哪一个?为什么?如果它不是数组的东西?
我有一些我存储在myfunc.php中的Magento商店的自定义PHP函数,我需要从几个不同的.phtml文件中获取它.我怎么做?
我的意思是我可以使用绝对路径,但这会很脏并且在迁移到另一台服务器时可能会出现问题.
现在我坚持:
require('/home/myuser/public_html/app/design/frontend/default/mytheme/myfunc.php');
Run Code Online (Sandbox Code Playgroud)
如何以编程方式引用皮肤路径(/ home/myuser/public_html/app/design/frontend/default/mytheme /)?
我从php.net看到这个例子:
<?php
class MyClass {
const MY_CONST = "yonder";
public function __construct() {
$c = get_class( $this );
echo $c::MY_CONST;
}
}
class ChildClass extends MyClass {
const MY_CONST = "bar";
}
$x = new ChildClass(); // prints 'bar'
$y = new MyClass(); // prints 'yonder'
?>
Run Code Online (Sandbox Code Playgroud)
但是$ c :: MY_CONST只能在5.3.0或更高版本中识别.我写的课可能会分发很多.
基本上,我在ChildClass中定义了一个常量,MyClass(父类)中的一个函数需要使用常量.任何的想法?
有2个表/实体,非常简单的场景.
表诗人 - 专栏:id,诗人,国家
表国家 - 列:id,国家,计数
基本上,国家对诗人具有一对多的映射,自然.例如,来自60个国家的1000名诗人.诗人中的每一位诗人都被国家领域赋予一个国家,其中包含了一个国家的国家.
国家的伯爵领域包含了来自这个国家的诗人中的诗人数量.
我的问题是如何使用一个SQL查询来计算诗人中的国家诗人数量,然后更新该国家的相应计数?
我试过了:
UPDATE poets, nations SET nations.count = COUNT(poets.id) GROUP BY poets.nation HAVING poets.nation = nations.id
Run Code Online (Sandbox Code Playgroud)
但它给出了#1064错误.还尝试在某处组合WHERE子句但它仍然拒绝工作.
任何的想法?
使用我的一个MySQL表,我删除了列col1,然后从包含它的唯一索引(col0,col1,col2,col3)中删除它.
它是由MySQL自动处理的吗?在删除列col1之后,以前的唯一索引(col0,col1,col2,col3)似乎自动更改为(col0,col2,col3).
它是一个问题还是我必须删除唯一索引并重新创建它(col0,col2,col3)?
Magento似乎有很多电子邮件模板可以根据用户活动发送各种不同的消息:注册,密码恢复,订单,发货等.
我在哪里可以找到所有的电子邮件模板,所以我可以自定义它们并且永远不会错过其中一个,以避免在用户看到一个措辞不佳的默认模板时看起来很糟糕?
它们都位于一个位置/目录中吗?
我找到了一些可以在这里更新一个字段的东西:http://www.karlrixon.co.uk/articles/sql/update-multiple-rows-with-different-values-and-a-single-sql-query/
UPDATE person
SET name = CASE id
WHEN 1 THEN 'Jim'
WHEN 2 THEN 'Mike'
WHEN 3 THEN 'Precious'
END
WHERE id IN (1,2,3)
Run Code Online (Sandbox Code Playgroud)
我的问题是如何更新多个字段?如:
UPDATE person
SET name = CASE, sex = CASE id
WHEN 1 THEN 'Jim', 'female'
WHEN 2 THEN 'Mike', 'male'
WHEN 3 THEN 'Precious', 'male'
END
WHERE id IN (1,2,3)
Run Code Online (Sandbox Code Playgroud)
哪个当然不起作用.尝试了其他一些组合并失败了.任何的想法?谢谢!