小编mpe*_*pet的帖子

将Laravel升级到4.2后,Artisan :: call('migrate')无效

我正在使用 Artisan :: call('migrate'); 在Laravel控制器方法中,它在Laravel版本为4.1时工作.在使用composer update命令更新Laravel (并在composer.js中设置 "laravel/framework":"4.2.*")之后,这个控制器方法(因为这是其中唯一的命令)不再起作用.

我甚在/app/config/app.php中添加了'cipher'=> MCRYPT_RIJNDAEL_256,如http://laravel.com/docs/upgrade#upgrade-4.2中所述.

那已经发生了:http://laravel.io/forum/06-02-2014-not-able-run-artisan-commands

当我将Artisan :: call('migrate')放入try/catch块控制器时,如下所示:

public function ArtMigr(){
    try {
            Artisan::call('migrate');
        } catch (Exception $e) {
            echo $e;
        }   

}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

异常'ErrorException',消息'使用未定义的常量STDIN - 在D:\ htdocs\artisan_error\vendor\symfony\console\Symfony\Component\Console\Helper\QuestionHelper.php中假设为'STDIN':112堆栈跟踪:#0 D:\ htdocs\artisan_error\vendor\symfony\console\Symfony\Component\Console\Helper\QuestionHelper.php(112):Illuminate\Exception\Handler-> handleError(8,'使用undefine ...','D :\ htdocs\artis ...',112,Array)#1 D:\ htdocs\artisan_error\vendor\symfony\console\Symfony\Component\Console\Helper\QuestionHelper.php(49):Symfony\Component\Console\Helper\QuestionHelper-> doAsk(对象(Symfony\Component\Console\Output\NullOutput),对象(Symfony\Component\Console\Question\ConfirmationQuestion))#2 D:\ htdocs\artisan_error\vendor\laravel\framework\src\Illuminate\Console\Command.php(186):Symfony\Component\Console\Helper\QuestionHelper-> ask(对象(Symfony\Component\Console\Input\ArrayInput),对象(Symfony\Component\Console\Output\NullOutput),对象(Symfony的\分量\控制台\问\确认 ationQuestion))#3 D:\ htdocs\artisan_error\vendor\laravel\framework\src\Illuminate\Console\ConfirmableTrait.php(21):Illuminate\Console\Command-> confirm('你真的......) #4 D:\ htdocs\artisan_error\vendor\laravel\framework\src\Illuminate\Database\Console\Migrations\MigrateCommand.php(59):Illuminate\Database\Console\Migrations\MigrateCommand-> confirmToProceed()

5 D:\ htdocs\artisan_error\vendor\laravel\framework\src\Illuminate\Console\Command.php(112):

Illuminate\Database\Console\Migrations\MigrateCommand-> fire()#6 D:\ htdocs\artisan_error\vendor\symfony\console\Symfony\Component\Console\Command\Command.php(252):Illuminate\Console\Command- > execute(Object(Symfony\Component\Console\Input\ArrayInput),Object(Symfony\Component\Console\Output\NullOutput))#7 D:\ htdocs\artisan_error\vendor\laravel\framework\src\Illuminate\Console\Command.php(100):Symfony\Component\Console\Command\Command-> …

php symfony laravel laravel-4

12
推荐指数
1
解决办法
5863
查看次数

如何使用Twitter Bootstrap在TD中垂直对齐按钮,文本和输入文本字段

<tr>
  <td colspan="3">
        With Selected: 
    <select name="action" id="group_action" class="span2">
      <option value="">--Choose--</option>
      <option value="delete">Delete</option>
      <option value="add_to">Add To</option>
    </select> 
    <select name="group" id="group">
      <option value="">--Choose--</option>
    <?php foreach($groups as $group){ ?>
  <option value="<?php echo $group->id?>"><?php echo $group->name?></option>
  <?php } ?>
  </select> 
    <button name="group_action" class="btn">Submit</button>
  </td>

</tr>
Run Code Online (Sandbox Code Playgroud)

我已经尝试style="vertical-align:middle", valign="middle"过TD,但它不起作用

这是它的样子:http://ge.tt/1Klf2dS/v/0?c

css codeigniter twitter-bootstrap

5
推荐指数
1
解决办法
1万
查看次数

如何在Laravel中使用数据库进行邮件设置

我想让用户远离编辑配置文件,所以我在管理面板中创建了用于设置邮件服务器,用户名,密码,端口,加密的web界面.我在Laravel 4.2中运行良好,但现在当应用程序已被重写为Laravel 5,发生错误:

Class 'Settings' not found in <b>F:\htdocs\app\config\mail.php</b> on line <b>18</b><br />
Run Code Online (Sandbox Code Playgroud)

为此我创建了一个服务提供者,制作了一个外观,将它们放在config/app.php中,Settings::get('var')/Settings::set('var')完美地工作,但不是用于邮件设置.


配置/ mail.php:

<?php return array(
            'driver' => Settings::get('mail_driver'),
            'host' => Settings::get('mail_host'),
            'port' => Settings::get('mail_port'),
            'from' => array('address' => Settings::get('mail_from_address'), 'name' => Settings::get('mail_from_name')),
            'encryption' => Settings::get('mail_encryption'),
            'username' => Settings::get('mail_username'),
            'password' => Settings::get('mail_password'),
            'sendmail' => Settings::get('mail_sendmail'),
            'pretend' => false,
            );
Run Code Online (Sandbox Code Playgroud)

配置/ app.php:

'providers' => [

    ...

    'App\Providers\SettingsServiceProvider',

    ...

'aliases' => [

    ...

    'Settings' => 'App\Custom\Facades\Settings',
Run Code Online (Sandbox Code Playgroud)
<?php namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use App\Custom\Settings;

class SettingsServiceProvider extends ServiceProvider …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5

4
推荐指数
1
解决办法
3949
查看次数

将列类型更改为tinyInteger

在Laravel 5.2迁移中尝试将数据列类型更改为tinyInteger:

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class AlterTableNameTableChangeNotificationSentTinyint extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('table_name', function ($table) {
            $table->tinyInteger('column_name')->default(0)->change();
        });    
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        //
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

Doctrine\DBAL\DBALException]                                                                                                                                                              
  Unknown column type "tinyinteger" requested. Any Doctrine type that you use has to be registered with \Doctrine\DBAL\Types\Type::addType().         You can get a list of all the known types wit …
Run Code Online (Sandbox Code Playgroud)

php migration laravel laravel-5.2

3
推荐指数
2
解决办法
3782
查看次数

如何在PHP和Laravel中测试MySQL连接?

我正在制作PHP应用程序安装程序(类似于Wordpress安装脚本),我需要在安装过程中使用用户提供的主机名,用户名,密码和数据库来检查mysql连接.

我正在使用此代码作为Laravel控制器方法来测试连接:

public function TestDatabaseConnection(){
    try {
        $database_host = Config::get('config.database_host');
        $database_name = Config::get('config.database_name');
        $database_user = Config::get('config.database_user');
        $database_password = Config::get('config.database_password');

        $connection = mysqli_connect($database_host,$database_user,$database_password,$database_name);

        if (mysqli_connect_errno()){
                return false;
            } else {
                return true;
            }

    } catch (Exception $e) {

        return false;

    }
}
Run Code Online (Sandbox Code Playgroud)

此代码似乎没有正确测试连接.函数返回值(true/false)不取决于用户是否提供db数据,或者db数据是否正确/不正确.

Fils /app/config/config.php包含以下数组:

<?php return array('database_host' => 'localhost', 'database_name' => 'dbasename',    'database_user' => 'dbuser', 'database_password' => 'pass');
Run Code Online (Sandbox Code Playgroud)

它在安装过程中通过表单进行更新.

有没有办法修改此代码或者您可能有其他一些代码建议?

php mysql laravel laravel-4

1
推荐指数
1
解决办法
2万
查看次数

每个用户的Laravel语言设置

我知道如何使用App :: setLocale('es')在应用程序中设置默认语言;

我正在考虑在用户登录后为每个用户设置单独的语言.

目前,我唯一想到的方法是在Lang :: get()命令中设置通用语言和使用变量:

$user_language = 'gr';

Lang::get('messages.welcome'.$user_language);
Run Code Online (Sandbox Code Playgroud)

是否有其他方法为每个用户设置语言设置?

php laravel laravel-4

1
推荐指数
1
解决办法
2545
查看次数